Mybatis学习笔记

Mybatis(基于Java的持久层的框架)

1. 特性

  • 具有定制化SQL、存储过程、高级映射的持久层框架
  • 避免几乎所有JDBC代码的手动设置参数及获取参数集
  • 使用简单的XML或注解用于配置,可以将接口和Java的POJO映射成数据库的记录
  • 半自动的ORM框架(框架格式:用元数据【XML格式】描述对象与关系映射的细节)

2. 快速入门

1.引入依赖

<dependencies> 
    <!-- Mybatis核心 --> 
    <dependency> 
        <groupId>org.mybatis</groupId> 
        <artifactId>mybatis</artifactId> 
        <version>3.5.7</version> 
    </dependency> 
    <!-- MySQL驱动 --> 
    <dependency> 
        <groupId>mysql</groupId> 
        <artifactId>mysql-connector-java</artifactId> 
        <version>5.1.3</version> 
    </dependency> 
</dependencies>

2.创建配置文件

<?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文件,此时就可以${属性名}的方式访问属性值-->
    <properties resource="jdbc.properties"></properties>
    <settings> 
        <!--将表中字段的下划线自动转换为驼峰-->
        <setting name="mapUnderscoreToCamelCase" value="true"/> 
        <!--开启延迟加载-->
        <setting name="lazyLoadingEnabled" value="true"/>
    </settings>
    <typeAliases> 
        <!--设置别名-->
        <package name="com.yao.mybatis.bean" alias="abc"/>
    </typeAliases>
    <!--设置连接数据库的环境-->
    <environments default="development">
        <environm id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/MyBatis"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environm>
    </environments> 
    <!--引入映射文件-->
    <mappers>
        <mapper resource="mappers/Mapper.xml"/>
    </mappers>
</configuration>

3.创建mapper接口

public interface Mapper {
    int addUser();
    User getUserById(@Param("id") int id);
    User mohuSelect(@Param("String") String field)
}

4.创建Mybatis映射文件

<?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="com.yaoqi.mybatis.mapper.Mapper"> 
<!--
	<sql语句开头单词 id="对应接口方法名"> 
        sql语句
    </sql语句开头单词>
-->
    <insert id="addUser"> 
        insert into user values (1, '张三', 23, '女') 
    </insert>
    <select id="getUserById" resultType="User"> 
        select * from user where id = #{id} 
    </select>
    <!--模糊查询-->
    <select id="mohuSelect" resultType="User"> 
        select * from user where username like "%"#{field}"%" 
    </select>
</mapper>
  1. 功能测试
//读取MyBatis的核心配置文件 
InputStream ins = Resources.getResourceAsStream("mybatis.xml"); 
//创建SqlSessionFactoryBuilder对象 
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); 
//通过核心配置文件所对应的字节输入流创建工厂类SqlSessionFactory,生产SqlSession对象 
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(ins); 
//创建SqlSession对象,此时通过SqlSession对象所操作的sql都必须手动提交或回滚事务 
//SqlSession sqlSession = sqlSessionFactory.openSession(); 
//创建SqlSession对象,此时通过SqlSession对象所操作的sql都会自动提交 
SqlSession sqlSession = sqlSessionFactory.openSession(true); 
//通过代理模式创建UserMapper接口的代理实现类对象 
UserMapper userMapper = sqlSession.getMapper(Mapper.class); 
//调用Mapper接口中的方法,就可根据Mapper的全类名匹配元素文件,通过调用的方法名匹配 映射文件中的SQL标签,并执行标签中的SQL语句 
Mapper.insertUser(); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幺柒.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值