概念
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。
- 简化JDBC的开发
- 能够更好的完成ORM(对象关系映射)
Spring mybatis的使用方式:
第一步:创建核心配置文件,配置全局文件,数据库,映射文件,加载驱动,合并了配置的相关信息。
//核心映射文件
<?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">
<!-- mybatis的核心配置文件,配置了事务管理,数据源 -->
<configuration>
<!--environments可以配置多个数据库的连接信息,default指定默认的环境-->
<environments default="test">
<environment id="test">
<!--使用的事务管理器-->
<transactionManager type="JDBC"></transactionManager>
<!--配置了数据源-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/> //加载JDBC驱动
<property name="url" value="jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=utf8&serverTimezone=Asia/Shanghai" /> //设置访问的数据库
<property name="username" value="root"/> //配置数据库的账号
<property name="password" value="root"/> //配置数据库的密码
</dataSource>
</environment>
</environments>
<!--引入映射文件--> //加载映射文件
<mappers>
映射文件的文件地址
<mapper resource="UserMapper.xml"></mapper>
</mappers>
</configuration>
对应的普通JDBC编写方式:
//普通JDBC的编写方式
Class.forName("com.mysql.jdbc.Driver")
String URL = "JDBC:mysql://localhost:3306/mybatisdb?
characterEncoding=utf8&serverTimezone=Asia/Shanghai";
Connection c = DriverManager.getConnection(URL,user,password);
第二步:建立映射文件
<!--映射文件-->
<?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">
<!--这个文件是映射文件,写SQL的,namespace用来作为一个mapper.xml文件的唯一标识-->
<mapper namespace="userMapper">
<!-- 查id=1的用户信息
id是这条SQL的唯一标识,名称尽量描述该语句的效果
resultType的值用来封装查到的结果,ORM-->
<select id="getById" resultType="cn.tedu.pojo.User">
select * from user id=1
</select>
<!-- 查所有的的用户信息-->
<select id="getUser" resultType="cn.tedu.pojo.User">
select * from user
<