SSM-Mybatis
Mybatis定义
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
1.Mybatis环境搭建
导入依赖
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
<!--连接mysql数据库驱动的依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
<!--日志依赖-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
main创建java/resources文件夹
目录结构图
mybatis配置文件
resources文件下创建任意名称的.xml文件(一般命名为SqlMapConfig.xml)。
1.导入约束
<?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">
2.配置环境
<!--方式一-->
<!--配置环境(直接写在xml中)-->
<environments default="mysql">
<!--配置mysql环境-->
<environment id="mysql">
<!--配置事务的类型-->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<!--配置连接数据库的4个基本信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!--后面部分是解决中文乱码的-->
<property name="url" value="jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<!--方式二 常用-->
<!--配置环境(写在properties配置文件中)-->
<?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>
<!--配置properties-->
<properties resource="jdbc.properties">
<!--可以在标签内部配置连接数据库信息,也可以在properties文件中配置连接数据库信息
resource属性
用于指定配置文件的位置,如果配置文件直接放在resources下,则直接写上文件名就可以了
-->
</properties>
<!--配置环境-->
<environments default="mysql">
<!--配置mysql环境-->
<environment id="mysql">
<!--配置事务的类型-->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<!--配置连接数据库的4个基本信息-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/ouc/a302/dao/BasAdminMapper.xml"/>
</mappers>
</configuration>
<!--配置文件-->
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/xjjdb1?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username=root
password=1234
3.映射配置文件
<mappers>
<!--方式一:指定dao类对应的映射配置文件的位置,这个方法需要把用到的类的映射配置文件都写上,较麻烦-->
<mapper resource="com/ouc/a302/dao/BasAdminMapper.xml"/>
</mappers>
<mappers>
<!--方式二:package指定dao类的所在的包,写一次就可以了,较方便(推荐)-->
<package name="com.ouc.a302.dao"/>
</mappers>
4.配置类的别名
<!--配置别名-->
<typeAliases>
<!--指定包下的所有类都起了别名,且别名就是类名-->
<!--起了别名之后,SqlMapConfig.xml中需要写全限定类名的地方只写类名就可以了,且不区分大小写-->
<package name="com.ouc.a302.pojo"/>
</typeAliases>
5.mybatis逆向工程生成数据库表实体类、接口、映射配置文件
- 引入逆向工程所需依赖
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
- resources下面定义generatorConfi.xml文件,并根据需要做出修改
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="testTables"