MyBatis框架基础操作

MyBatis框架基础操作MyBatis框架一.介绍:①框架是什么?是一个经过检验、具有一定功能的半成品软件,里面封装了许多API,方便开发者调用,从而提高开发和工作效率②为什么使用MyBatis框架?因为它的优秀让我们避免了几乎所有的JDBC代码(解放双手),不用去手动的为SQL语句设置参数,也不需要去处理查询出来的结果集合。最重要的是实现了SQL语句和Java代码的分离二.使用流程Ⅰ先导入mybatis所需要的jar包Ⅱ写mabatis-config.xml文件(核心配置文件)Ⅲ写XxxMapper.xml文件

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();
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30738.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注