mybatis

Posted duguangming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis相关的知识,希望对你有一定的参考价值。

mybatis:

mybatis是一种orm的持久化层技术。(orm 对象关系映射)

使用步骤:

1.创建java项目,引入mybatis依赖的包

2.创建mybatis的主配置文件

 idea需要先创建mybatis的模板文件

File-->setting-->Editor-->File and code Templates-->+ -->

<?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">

技术图片

创建主配置文件

<?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>
<!--配置mybatis的运行环境
mybatis可以连接多个数据库 ,连接一个数据库的信息就是一个运行环境
default指定默认使用哪个运行环境
-->
<environments default="myOracleEnv">
<!--连接oracle的环境-->
<environment id="myOracleEnv">
<!--配置mybatis的事物管理器
JDBC 使用mybatis自己的事物管理方式,就是使用jdbc的事物管理方式
MANAGED 使用容器的事物管理方式
-->
<transactionManager type="JDBC"></transactionManager>
<!--配置mybatis连接oracle的连接池信息
POOLED 使用连接池的方式获取数据库连接
UNPOOLD 不使用连接池的方式获取数据库连接
-->
<dataSource type="POOLED">
<!--数据库的驱动-->
<property name="driver" value="oracle.jdbc.driver.OracleDriver"></property>
<!-- 数据库连接的url-->
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
<!--数据库连接的用户名-->
<property name="username" value="scott"></property>
<!-- 数据库连接的密码-->
<property name="password" value="tiger"></property>
</dataSource>
</environment>
</environments>
</configuration>

3.创建mybatis的工厂类工具

数据库操作通过sqlsession来进行的,首先获取sqlsession对象

/**
* 获取SqlSession对象工具类
*/
public class SqlSessionFactoryUtil {
//获取SqlSession的工厂类对象
private static SqlSessionFactory sessionFactory;
//静态代码块,在类加载的时候会自动执行该内容
static{
Reader reader =null;
try {
//获取Reader对象,读取mybatis的主配置文件
reader = Resources.getResourceAsReader("mybatis.xml");
//利用SqlSessionFactoryBuilder创建工厂类对象
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

4.创建实体类

5.创建dao接口

6.创建dao接口的实现mapper文件

通过映射文件来实现dao接口中的方法,使用映射文件先创建映射文件,同创建主配置文件。创建位置在dao接口的目录下

格式:dao接口名称+Mapper.xml

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace需要对应dao接口的完全限定名 (包名+类名)-->
<mapper namespace="com.aaa.mybatis.dao.DeptDao">
<!--我们用select实现查询方法,id对应dao接口中的方法名,区分大小写-->
<!--resultType对应返回值的类型,注意是list集合中的泛型的类型-->
<select id="listAll" resultType="com.aaa.mybatis.entity.Dept">
<!---在标签中写sql语句实现查询 sql语句不区分大小写
as 关键字前面的是列名 as后面的是实体类Dept的属性名
as 别名如果和列名一致,as可以省略
如果把表中所有数据都查询出来,可以使用*-->
select deptno as deptno,dname as dname,loc as loc from dept
</select>
</mapper>

7.把mapper文件加载到mybatis的主配置文件中

技术图片

 

8.创建测试类

 

以上是关于mybatis的主要内容,如果未能解决你的问题,请参考以下文章

SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper

mybatis动态sql片段与分页,排序,传参的使用

MyBatis动态SQL标签用法

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段

mybatis动态sql之利用sql标签抽取可重用的sql片段

[mybatis]动态sql_sql_抽取可重用的sql片段