mybatis

2017-11-24  本文已影响0人  蕊er

每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它是线程不安全的

配置文件

(已下载IDEA Mybatis插件 ---- MyBatis plugin)

Mapper动态代理方式

只需要编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象

public interface UserMapper {
    User findUserById(Integer id);
}
<mapper namespace="com.lirui.mybatis.mapper.UserMapper">
    <select id="findUserById" parameterType="Integer" resultType="com.lirui.mybatis.bean.User">
        SELECT * FROM user WHERE id=#{id}
    </select>
</mapper>
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.findUserById(1);
System.out.println(user);

输入映射及输出映射

动态Sql

通过mybatis提供的各种标签方法实现动态拼接sql

关联查询

Sping与mybatis整合

Spring与mybatis整合,负责数据库池及SessionFactory的创建,不管已下哪种方式都要配置数据库池及SessionFactory

<!--加载配置文件-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!--连接池-->
<!--数据源-->
<bean name="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
    <property name="driverClassName" value="${jdbc.driver}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    <property name="maxTotal" value="10"/>
    <property name="maxIdle" value="5"/>
</bean>
<!--工厂方法-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="configLocation" value="classpath:mybatis-config.xml"/>
    <property name="dataSource" ref="dataSource"/>
</bean>
//mybatis-config.xml
<!--bean起别名-->
<typeAliases>
    <package name="com.lirui.mybatis.bean"/>
</typeAliases>
<!--mapper代理时使用,mapper接口映射mapper.xml文件,在同个文件夹下才能实现-->
<mappers>
    <package name="com.lirui.mybatis.mapper"/>
</mappers>

Mybatis逆向工程

上一篇下一篇

猜你喜欢

热点阅读