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(); } } }
public static SqlSession getSession(){
return sessionFactory.openSession();
}
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.创建测试类