一、MyBatis开发步骤

案例需求:通过mybatis查询数据库user表的所有记录,封装到User对象中,打印到控制台上

1. 创建数据库及user表

CREATE DATABASE `mybatis_db`;
USE `mybatis_db`;

CREATE TABLE `user` (
 `id` int(11) NOT NULL auto_increment,
 `username` varchar(32) NOT NULL COMMENT '用户名称',
 `birthday` datetime default NULL COMMENT '生日',
 `sex` char(1) default NULL COMMENT '性别',
 `address` varchar(256) default NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

2、创建maven工程,导入依赖(MySQL驱动、mybatis、junit)

  <dependencies>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.4</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.28</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

3、编写User实体类

package com.cdgq.entity;

import java.util.Date;

public class User {
     private Integer id;
     private String username;
     private Date birthday;
     private String sex;
     private String address;
}

4、编写映射文件UserMapper.xml

<?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 命名空间,与下面的ID一起组成查询的标识-->
<mapper namespace="com.cdgq.dao.UserMapper">
<!--ID 操作的id号,与接口方法名保持一致-->
<!--resultType 查询结果对应的实体类型-->
<select id="findAll" resultType="user">
<!--要执行的sql语句-->
select * from User
</select>
<!-- 新增-->
<insert id="save" parameterType="user">
insert into user (username,birthday,sex,address)
values (#{username},#{birthday},#{sex},#{address})

</insert>
</mapper>

5、编写核心文件SqlMap.xml 

<?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>
    <typeAliases>
        <package name="com.cdgq.entity"/>
    </typeAliases>
    <environments default="mysql">
        <environment id="mysql">
            <!--配置事务管理器 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url"
                          value="jdbc:mysql://localhost:3306/mybatis_db?useUnicode=true;characterEncoding=utf-8;useSSL=false;serverTimezone=GMT%2B8;allowPublicKeyRetrieval=true"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="UserMapper.xml"></mapper>
    </mappers>
</configuration>

6、编写测试类

//@Test
    public void findall(){
        try {
            InputStream resource= Resources.getResourceAsStream("SqlMapper.xml");
            SqlSessionFactory sqlSessionFactory= new SqlSessionFactoryBuilder().build(resource);
           SqlSession session= sqlSessionFactory.openSession();
          List<User> mlist=session.selectList("userMapper.findAll");
            System.out.println(mlist);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

7、项目结构

 

posted @ 2023-08-08 16:16  悠悠球  阅读(14)  评论(0)    收藏  举报