MyBatis框架
一.介绍:
①框架是什么?
是一个经过检验、具有一定功能的半成品软件,里面封装了许多API,方便开发者调用,从而提高开发和工作效率
②为什么使用MyBatis框架?
因为它的优秀让我们避免了几乎所有的JDBC代码(解放双手),不用去手动的为SQL语句设置参数,也不需要去处理查询出来的结果集合。最重要的是实现了SQL语句和Java代码的分离
二.使用流程
Ⅰ先导入mybatis所需要的jar包
Ⅱ写mabatis-config.xml文件(核心配置文件)
Ⅲ写XxxMapper.xml文件(用来写SQL语句)
Ⅳ接口、实现类、测试类等…
补充:
jar放到lib目录下
核心配置文件和db.properties放到名:resources目录下
文件要Marke Directory as 为Resources Root
为何?
因为resources下的文件都随着字节码文件,那么我们操作文件就不用写全路径名,写相对路径即可
三.mybatis-config.xml(核心配置文件):
1.需要写约束头(这个是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">
2.所需配置的信息:
<configuration>
<!--这个是导入文件的操作-->
<properties resource="db.properties"/>
<!--设置别名 处理结果集时,可以少些一些代码-->
<typeAliases>
<package name="全限定名.domain"/>
</typeAliases>
<!--环境配置成开发者环境 dev-->
<environments default="dev">
<environment id="dev">
<!--配置事务 JDBC-->
<transactionManager type="JDBC"/>
<!--配置连接池POOLED-->
<dataSource type="POOLED">
<!--连接数据库的四要素 这里value的调用参数 是前面导入文件中的四要素-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--关联映射文件 注意这里写的的resource:路径-->
<mappers>
<mapper resource="com/wjw/javaweb/mapper/StudentMapper.xml"/>
</mappers>
</configuration>
四.XxxMapper.xml映射文件(写SQL语句的文件):
1.需要写约束头
<?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">
2.里面书写SQL文件
<!--这里的namespace写的全限定名-->
<mapper namespace = "">
<insert id="insert">
<!--SQL语句-->
</insert>
<!--这里的resultType是结果集需要处理成什么类型的-->
<select id="selectOne" resultType="">
<!--SQL语句-->
</select>
</mapper>
注意:
本来这里的namespace书写什么都可以,只要是唯一的即可,但是现在主要写自己本身映射文件的全限定名 (后续会越来越有用)
五.test测试类(必须要写,测试先行原则)
现在的测试类都单独放到test目录下,文件要Marke Directory as 为Test Sources Root
六.包和类的命名规范
包:
域名倒写.项目模块名.组件
对应的包:
工具类:com.xxx.jdbcdemo.util
模型对象:com.xxx.jdbcdemo.domain
接口:com.xxx.jdbcdemo.dao
实现类:com.xxx.jdbcdemo.dao.impl
工具类:com.xxx.jdbcdemo.util
测试类:单独的测试文件夹下
类名:
DAO接口:IXxxDAO
DAO实现类:XxxDAOImpl
DAO测试类:XxxDAOTest
七.实现类中:
1.获取到SqlSessionFactory对象
SqlSessionFactory factory = new SqlSessionFactoryBuild().
build(Resource.getResourceAsStream("mybatis-config.xml"));
2.开启会话
SqlSession session = factory.openSession();
3.指向我们所需要执行的sql语句 o:是对象
DML:
session.insert("全限定名.mapper.XxxMapper.insert",o);
DQL:
session.selectOne("全限定名.mapper.XxxMapper.selectOne",id);
4.提交事务
session.commit();
5.关闭资源
session.close();
八、抽取工具类
工具类名为MyBatisUtil,放在util包下 工具类是abstract修饰
private static SqlSessionFactory factory;
static
{
try {
factory = new SqlSessionFactoryBuilder()
.build(Resources.getResourceAsStream("mybatis-config.xml"));
}catch(IOException e){
e.printStackTrace();
}
}
public static SqlSession openSession(){
return factory.openSession();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30738.html