MyBatis学习第一天--08-09

基本API

MyBatis概述:解决dao层频繁创建释放相关资源,解除sql语句与执行操作的耦合,简化封装实体的操作
相关API
SqlSessionFactoryBuilder:工厂构建器,用于创建SqlSessionFactory对象
	** build() 参数一般为读取核心文件的流对象(文件对象),创建SqlSessionFactory对象
SqlSessionFactory:创建SqlSession核心对象
	** openSession() 默认自动启动事务机制,可设置参数true自动提交,创建SqlSession:执行sql语句对象
SqlSession:执行sql语句对象(参数为sql映射文件的命名空间.具体语句的id 和参数)
	** selectOne() 查询一条 
	** selectList() 查询多条
	** insert update delete 增改删操作 commit 事务提交 rollback 事务回滚

配置文件基本的一些配置

映射文件(主要用来设置sql语句和与实体类之间的映射关系)
基本标签
<mapper> 此配置文件的根标签
	** 属性 namespace 定义此映射关系的命名空间名
<inserrt> <delete> <update> <select> 对应增删改查标签
	** 属性 id 此条sql语句的唯一标识,结合命名空间名在dao层内被操作
	    resultType 返回结果的类型(全包名/相应的别名),MyBatis会将结果封装到此类型的对象中
	    parameterType 参数的类型(同上),在sql语句中如果是实体类型可以根据 #{属性名} 的方式直接
	    使用,如果只有一个可直接使用

核心配置文件(用来设置数据源、引入映射文件、设置别名等)
基本标签
<configuration> 根标签
<properties resource="jdbc.properties"/>
	** 读取外部properties配置文件
<environments default="development">
	** 数据库环境配置,default默认环境(支持多环境)
    <environment id="development"> // 指定当前环境名称
        <transactionManager type="JDBC"/> 
        // 配置事务管理器,type为事务管理器类型,常用默认JDBC类型
        <dataSource type="POOLED">
        // 数据源配置,type为数据源类型 常用池类型 POOLED
            <property name="driver" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </dataSource>
    </environment>
</environments>
<typeAliases> // 别名设置,支持多个,type为类的全包名,alias为别名
    <typeAlias type="domain.Bank" alias="bank"/>
</typeAliases>
<mappers>  // 加载映射,支持多个,resource为映射文件的位置(通常为相对于类的根路径位置)
    <mapper resource="domain\BankMapper.xml"/>
</mappers>


示例(查询一条为例)
 ** maven相关jar坐标(需要依赖数据库连接包)
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        
 ** BankMapper.xml 映射文件
 <?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">
// 映射文件约束
<mapper namespace="bankMapper">
    <select id="find" resultType="bank" parameterType="int">
    // 指定返回类型来封装,参数类型为int型,一个参数直接使用(任意名)
        select * from bank where id=#{id}
    </select>
</mapper>

 ** SqlMapConfig.xml核心配置文件
 <?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>
    <properties resource="jdbc.properties"/> // 引入数据源properties配置文件
    <typeAliases>  // 为Bank类起别名
        <typeAlias type="domain.Bank" alias="bank"/>
    </typeAliases>
    <environments default="development"> // 设置默认环境
        <environment id="development">
            <transactionManager type="JDBC"/> // 配置事务管理器,使用JDBC原始类型
            <dataSource type="POOLED">   // 配置数据源,使用池类型
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers> // 加载映射文件进内存
        <mapper resource="domain\BankMapper.xml"/>
    </mappers>
</configuration>

 ** 测试类
     @Test
    public void find() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        // 读取核心配置文件
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        // 加载配置文件流并创建工厂实例
        SqlSession sqlSession = factory.openSession();
        // 打开sql客户端会话
        Bank bank = sqlSession.selectOne("bankMapper.find", 1);
        // 根据命名空间名和映射id值执行对应sql语句
        System.out.println(bank);
    }
Bank实体类为标准javaBean
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值