mybatis的快速上手
我的相关博文:
mybatis动态代理
Mybatis 中${}与#{}的区别
mybatis 全局typeAliases配置(配置别名)
mybatis手动映射
mybatis 动态SQL
mybatis延迟加载
Mybatis传递多个参数的4种方式
1. 快速上手
1.1. 程序代码
创建这几个文件

- User.java(pojo)
public class User { private int id; private String username; private String sex; private Date birthday; private String address; //省略getter、setter、toString等 ... } - SqlMapConfig.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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=utf8" /> <property name="username" value="root" /> <property name="password" value="12345678" /> </dataSource> </environment> </environments> <mappers> <mapper resource="UserMapper.xml" /> </mappers> </configuration> - UserMapper.xml(用于配置ORM)
<?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"> <mapper namespace="user"> <select id="queryList" resultType="com.kehao.pojo.User"> select * from user </select> </mapper> - MybatisQuickStart.java(主程序)
public class MybatisQuickStart { @Test public void mybatisQuickStart(){ SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = builder.build(this.getClass().getResourceAsStream("SqlMapConfig.xml")); SqlSession session = factory.openSession(); List<User> userList = session.selectList("user.queryList"); for (User user:userList){ System.out.println(user); } } } - 数据库表结构如下

1.2. 运行结果
User{id=1, username='小A', sex='1', birthday=Mon Mar 01 00:00:00 CST 2021, address='北京'}
User{id=2, username='小B', sex='0', birthday=Tue Mar 02 00:00:00 CST 2021, address='上海'}
User{id=3, username='小C', sex='1', birthday=Wed Mar 03 00:00:00 CST 2021, address='广州'}
User{id=4, username='小D', sex='1', birthday=Thu Mar 04 00:00:00 CST 2021, address='深圳'}
2. SqlMapConfig.xml文件介绍
<configuration>
<!--environments 标签
用于配置运行环境(开发环境,测试环境,部署环境等)的
里面可以配置多个environment标签,每一个代表一个环境
default 用来配置实际项目运行的时候使用的是哪一个环境
-->
<environments default="development">
<!--environment 标签
每一个environment标签代表一个环境
如开发环境,测试环境,部署环境等
-->
<environment id="development">
<!--transactionManager 事务管理配置
- type="JDBC" 使用的是最原始的JDBC的事务处理机制
- type="MANAGERED" 不管理事务
-->
<transactionManager type="JDBC" />
<!--dataSource 配置数据源,连接池,可以配置一些数据库的一些信息
- type="POOLED" 使用连接池(使用MyBatis自带连接池)
- type="UNPOOLED"可以配置使用自己的连接池
-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=utf8" />
<property name="username" value="root" />
<property name="password" value="12345678" />
</dataSource>
</environment>
</environments>
<!--用于配置mapper文件-->
<mappers>
<mapper resource="UserMapper.xml" />
</mappers>
</configuration>
3. 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">
<!--
select 标签,配置的是查询语句
id 属性,唯一性,在当前文件中唯一 ,属性值 queryList
框架执行SQL语句: namespace+"."+queryList 确定SQL语句
resultType: 查询的结果集,是pojo对象
标签体: 是SQL语句
-->
<mapper namespace="user">
<select id="queryList" resultType="com.kehao.pojo.User">
select * from user
</select>
</mapper>

浙公网安备 33010602011771号