mybatis学习后的总结(初级)

**概括:
1 mybatis是半自动化的ORM框架,之所以这么说是因为mysql需要自己写SQL语句;
2 mybabtis的核心配置文件是mybatis-config.xml;
3 mybatis是面向接口编程的;
4 mybatis的核心接口是SqlSessionFactory,它存在于程序的整个生命周期;
5 mybatis的实体、mapper接口、mapper.xml可以由代码生成器mybatis-generator生成,且自动生成的仅限于对单表的操作;
6 mybatis与spring的集合,简化了SqlSessionFactory,SqlSession的获取,使得这些操作对我们都透明化;
7 mybais的一级缓存默认是打开的,且一级缓存的生命周期是方法级别的,即session独享的。二级缓存在于SqlSessionFactory生命周期内,即session共享的,所以二级缓存容易出现脏读,一般用redis、memcache等代替二级缓存。增删改操作会刷新一二级缓存。(flushCache一级缓存开关,cacheEnabled二级缓存开关)。

mybatis的使用:
1导入mybatis依赖

<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.1</version>
		</dependency>

2增加mybatis-config.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="db.properties"/>
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true" />
		<setting name="aggressiveLazyLoading" value="false"/>
	</settings>
	<!-- 别名定义 -->
	<typeAliases>
		<package name="com.zoie.restaurant.entity"/>
	</typeAliases>
	<!--配置environment环境 -->
	<environments default="development">
		<!-- 环境配置1,每个SqlSessionFactory对应一个环境 -->
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="UNPOOLED">
				<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>
	<!-- 映射文件,mapper的配置文件 -->
	<mappers>
		<!--直接映射到相应的mapper文件 -->
		<mapper resource="mapper/TRoleMapper.xml" />
		<mapper resource="mapper/TUserMapper.xml" />
		<mapper resource="mapper/TUserRoleMapper.xml" />
		<mapper resource="mapper/TRightMapper.xml"/>
		<mapper resource="mapper/TRoleRightMapper.xml"/>
	</mappers>	 		
<!--  <mapper class="com.enjoylearning.mybatis.mapper.TJobHistoryAnnoMapper"/> 
	</mappers> -->
</configuration>  

3使用mybatis-generator生成entity实体,mapper接口,mapper.xml文件

需要导入mybais-generator的相关依赖,及generatorConfig.xml配置文件,最后mvn mybatis-generator:generator运行即可

4写测试类进行测试

public class UserTest {

    SqlSessionFactory sqlSessionFactory;


    @Before
    public void init() throws IOException {
        String resource="mybatis-config.xml";
        InputStream inputStream=Resources.getResourceAsStream(resource);
        sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
        inputStream.close();
    }


    @Test
    public void getUser(){
        SqlSession sqlSession=sqlSessionFactory.openSession();
        TUserMapper tUserMapper=sqlSession.getMapper(TUserMapper.class);
        TUser user=tUserMapper.selectByPrimaryKey(1L);
        System.out.println(user.getName());
        System.out.println(user.getRoles());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值