MyBatis框架基础操作

MyBatis框架

一.介绍:

①框架是什么?

是一个经过检验、具有一定功能的半成品软件,里面封装了许多API,方便开发者调用,从而提高开发和工作效率

②为什么使用MyBatis框架?

因为它的优秀让我们避免了几乎所有的JDBC代码(解放双手),不用去手动的为SQL语句设置参数,也不需要去处理查询出来的结果集合。最重要的是实现了SQL语句和Java代码的分离

二.使用流程

Ⅰ先导入mybatis所需要的jar包
Ⅱ写mabatis-config.xml文件(核心配置文件)
Ⅲ写XxxMapper.xml文件(用来写SQL语句)
Ⅳ接口、实现类、测试类等…

补充

jar放到lib目录下
核心配置文件和db.properties放到名:resources目录下
文件要Marke Directory asResources 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 asTest 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();
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值