Mybatis总结

目录

一、Mybatis查询数据库功能

 二、Mybatis查询数据库功能实现

2.1、创建Maven项目,在Maven中加入mybatis依赖,mysql驱动依赖:

2.2、创建一张student表:  

2.3、创建表对应的实体类:student类,用来保存表中的每一行数据:

 2.4、创建持久层的DAO接口,用来定义操作数据库的方法:

2.5、创建这个表对应的sql映射文件,一个表一个sql映射文件

2.6、创建mybatis的主配置文件:

2.7、编写测试代码,使用mybatis  ---   通过Mybatis访问数据库:

一、Mybatis查询数据库功能

  1. 创建Maven项目,在Maven中加入mybatis依赖,mysql驱动依赖
  2. 创建一张student表  
  3. 创建表对应的实体类:student类,用来保存表中的每一行数据
  4. 创建持久层的DAO接口,用来定义操作数据库的方法
  5. 创建这个表对应的sql映射文件,一个表一个sql映射文件  --- 用来写sql语句的
  6. 创建mybatis的主配置文件: 一个项目就一个mybatis的主配置文件                                   主配置文件提供了数据库的连接信息和sql映射文件的位置信息
  7. 编写测试代码,使用mybatis  ---   通过Mybatis访问数据库

 二、Mybatis查询数据库功能实现

2.1、创建Maven项目,在Maven中加入mybatis依赖,mysql驱动依赖:
   <!--mybatis依赖-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.1</version>
    </dependency>

    <!--mysql驱动依赖-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.9</version>
    </dependency>
2.2、创建一张student表:  

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `age` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1001, '李四', 'lisi@qq.com', 20);
INSERT INTO `student` VALUES (1002, '张三', 'zhangsan@qq.com', 23);

SET FOREIGN_KEY_CHECKS = 1;
2.3、创建表对应的实体类:student类,用来保存表中的每一行数据:

 2.4、创建持久层的DAO接口,用来定义操作数据库的方法:
public interface StudentDao {
    //查询Student表中的所有数据:
    public List<Student> selectStudents();
}

    定义一个List集合,List集合中的每一个对象是一个学生,list集合中放的是student对象,这个selectStudents()方法对应的是一个SQL语句的执行,SQL语句写在SQL映射的文件里面。

2.5、创建这个表对应的sql映射文件,一个表一个sql映射文件  --- 用来写sql语句的:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace:命名空间,唯一值 ,推荐使用:dao 接口的全限定名称 -->
<mapper namespace="com.lifang.dao.StudentDao">
    <!--
      <select>: 表示查询操作, 标签中必须是 select 语句
       1、id: sql 语句的自定义名称,表示要执行的 sql 语句
        推荐使用 dao 接口中的方法名称,
       2、resultType: 查询语句的返回结果数据类型,sql语句执行完之后得到了ResultSet查询结果集,
        遍历这个ResultSet得到的java对象的类型;使用类的全限定类名
    -->
    <select id="selectStudents" resultType="com.lifang.domain.Student">
        select id,name,email,age from student   
        <!--要执行的 sql 语句
            我们mybatis执行这条sql语句,会用我们的每一行记录来创建出一个studen对象,
            并且把这些值赋值给这个对象的属性
        -->
    </select> 

    <!--插入操作-->
    <insert id="insertStudent">
        insert into student(id,name,email,age) values(#{id},#{name},#{email},#{age})
    </insert>

    <!--更新操作-->
    <update>

    </update>

    <!--删除操作-->
    <delete>

    </delete>

</mapper>
2.6、创建mybatis的主配置文件:

         一个项目就一个Mybatis的主配置文件,主配置文件提供了数据库的配置信息和sql映射文件的位置信息。

1、创建主配置文件:名称为 mybatis.xml

2、支持中文的 url:

jdbc:mysql://localhost:3306/sys?useUnicode=true&amp;characterEncoding=UTF-8
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <!--
        settings:控制Mybatis的全局行为
    -->
    <settings>
        <!--设置Mybatis输出日志,
            可以在控制台输出执行的 sql 语句和参数(日志)-->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>

    <!--
        环境标签,配置mybatis环境,里面是数据库的配置信息,
        可以写多个environment,
        environments的default对应environment的id,
        id可以自己起名,default写哪个id,则哪个environment生效
    -->
    <environments default="dev">
        <!--id:数据源的名称-->
        <environment id="dev">
            <!--配置事务类型:使用 JDBC 事务(使用 Connection 的提交和回滚)-->
            <transactionManager type="JDBC"/>
            <!--数据源 dataSource:
                创建数据库 Connection 对象
                type: POOLED 使用数据库的连接池
            -->
            <dataSource type="POOLED">
                <!--连接数据库的四个要素-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/sys?useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--SQL映射文件的位置信息-->
        <mapper resource="com/lifang/dao/StudentDao.xml"/>
    </mappers>

</configuration>
2.7、编写测试代码,使用mybatis  ---   通过Mybatis访问数据库: 

 

相关推荐

  1. Mybatis框架详细总结

    2024-02-23 08:58:03       38 阅读
  2. Mybatis源码总结

    2024-02-23 08:58:03       33 阅读
  3. Mybatis学习周报总结

    2024-02-23 08:58:03       14 阅读
  4. MyBatis总结(2)- MyBatis实现原理(二)

    2024-02-23 08:58:03       9 阅读
  5. MyBatis总结(2)- MyBatis实现原理(三)

    2024-02-23 08:58:03       5 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 08:58:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 08:58:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 08:58:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 08:58:03       20 阅读

热门阅读

  1. LeetCode //C - 901. Online Stock Span

    2024-02-23 08:58:03       33 阅读
  2. haproxy集成国密ssl功能

    2024-02-23 08:58:03       34 阅读
  3. vivado RAM Inference

    2024-02-23 08:58:03       27 阅读
  4. nifi连接Sql server数据库报错TLS问题

    2024-02-23 08:58:03       37 阅读