一:
Mybatis:是一个持久层的框架,之前叫做ibatis。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
二:
1.新建一个maven工程
2.配置依赖
<dependencies>
<!-- 添加MySQL数据库驱动依赖包. -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
<!-- 添加mybatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
<!--log4j-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>3.导入jdbc.properties 和log4j.properties
4.新建mybatis-config.xml(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">
<configuration>
<!-- 加载属性文件 -->
<properties resource="jdbc.properties"></properties>
<!-- 和spring整合后 environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理,事务控制由mybatis -->
<transactionManager type="JDBC" />
<!-- 数据库连接池,由mybatis管理 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!-- 加载配置文件 -->
<mappers>
<mapper resource="xxxxxxxx" />
</mappers>
</configuration>5.编写 mapper接口 && mapper.xml(可以理解为mapper.xml是mapper接口的实现类)
<?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="接口地址"> </mapper>
6.编写测试类
InputStream cof = Resources.getResourceAsStream("mybatis-config.xml");
// 创建会话工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(cof);
SqlSession sqlSession = sqlSessionFactory.openSession();
XXX mapper = sqlSession.getMapper(XXX.class);三:
mapper配置文件的三种方式:
<!-- 第一种方式:通过resource指定 --> <!--<mapper resource="com/dy/dao/userDao.xml" /> --> <!-- 第二种方式, 通过class指定接口,进而将接口与对应的xml文件形成映射关系 不过,使用这种方式必须保证 接口与mapper文件同名(不区分大小写), 我这儿接口是UserDao,那么意味着mapper文件为UserDao.xml --> <!-- <mapper class="com.dy.dao.UserDao"/> --> <!-- 第三种方式,直接指定包,自动扫描,与方法二同理 --> //常用 <!-- <package name="com.dy.dao"/> -->
四:增删查改
<select id="方法名字" parameterType="参数类型(可忽略)" resultType="返回类型">
sql
</select>
<delete id="方法名字" parameterType="参数类型(可忽略)">
sql
</delete>
<update id="方法名字" parameterType="参数类型(可忽略)">
sql
</update>
<insert id="方法名字" parameterType="参数类型(可忽略)" keyProperty="注入id属性(可忽略)" useGeneratedKeys="true(可忽略)">
sql
</insert>五:别名配置
<typeAliases>
<!--配置单个-->
<typeAlias alias="xxx" type="xxx"/>
<!--配置多个-->
<package name="包名"/>
</typeAliases>
京公网安备 11010502036488号