分析
-
创建Maven工程(java), 添加mybatis的依赖坐标
-
创建pojo (javabean)
-
创建UserDao接口
-
创建UserDao映射文件 (xml配置文件)
-
创建MyBatis核心配置文件SqlMapConfig.xml (xml配置文件)
-
编写java代码测试
准备工作:
准备数据库
创建Mvaen工程(jar)导入坐标
创建实体类User
创建UserDao接口: 持久层接口,就是三层架构的dao层
创建UserDao.XML映射文件: ----- 操作数据库(写sql语句)
1. 在resources 下面创建文件夹,文件夹的名字需要与dao包的名字一样。(resources 和java是同级文件,dao层的映射文件和dao层以上的文件名都是相同的)映射文件命名以/方式
2. 有接口就有映射文件
3. 定义mapper映射文件UserDao.xml,需要修改namespace的值为 UserDao接口全限定名。将UserDao.xml放在resource的xxx.xxx.dao目录下
4. 映射文件命名方式(套路):
a. xml的目录最好要和dao接口的包名路径一样!
b. xml的目录创建的时候必须要使用 / 的形式,不能使用 . 的形式创建!
c. xml里面的命名空间必须要写成dao接口的全路径!
d. xml里面的语句的id值必须是dao接口的方法名字!
e. resultType: 写的是方法的返回值类型,如果方法的返回值是集合类型,那么写的是集合中的元素类型。
f. parameterType : 写的是参数的类型,参数是什么类型,就写什么类型,即是是集合,也写的是集合的类型。
5. 操作数据库规范:
在 <mapper namespace=必须和mapper(Dao)接口的全限定名相同。 ></mapper>标签中写sql语句
select,update等的标签id的值必须和mapper(Dao)接口的方法名相同
select,update等的标签的parameterType必须和mapper(Dao)接口的方法的形参类型对应
select,update等的标签的resultType必须和mapper(Dao)接口的方法的返回值类型对应
Mapper.xml(即UserDao.xml)文件的文件名尽量和mapper(Dao)接口的名字一样
Mapper.xml文件的路径尽量和mapper(Dao)接口的路径在同一层目录
创建xml目录的时候,要使用 / 的方式创建,不要使用 . 的方式创建,否则报错!
创建SqlMapConfig.XML配置文件:
作用: 连接数据库
environments : 用于配置环境,它里面可以定义多个环境,使用 environment来定义
到底是用哪一个环境呢,取决于 default属性写的是哪个 environment的id值
environment : 用于定义环境,
id :声明一个标识,唯一标识
transactionManager : 事务管理员
dataSource :用不用连接池
注: 新增了映射文件,需要在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">
<!--
这个文件是mybatis的核心配置文件,它里面包含两部分内容: 连接数据库, 映射文件在哪里-->
<configuration>
<!--
1. 数据库的连接
environments : 用于配置环境,它里面可以定义多个环境,使用 environment来定义
到底是用哪一个环境,取决于 default属性写的是哪个 environment的id值
environment : 用于定义环境,
id :声明一个标识,唯一标识
transactionManager : 事务管理员
dataSource :用不用连接池
-->
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_day01"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--2. 映射文件在哪里?-->
<mappers>
<mapper resource="com/itheima/dao/UserDao.xml"/>
</mappers>
</configuration>