一、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、项目结构


浙公网安备 33010602011771号