单个和批量加载mybatis所对应的dao层接口
2018-01-11 16:31
363 查看
一,通过mybatis操作数据库的一般步骤
1,在xml文件中编写mysql语句,具体如下<?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与同名的java接口进行关联-->
<mapper namespace="com.jd.lgg.web.dao.CityDao">
<insert id="saveCity" parameterType="city">
insert into jd_am_visit_city(cityCode,cityName,creationTime,updateTime,yn)
values(#{cityCode},#{cityName},now(),now(),1)
</insert>
</mapper>2,然后在java接口中定义同名的函数,格式如下
public interface CityDao {
Integer saveCity(City city);
}
3,最后在配置文件中定义CityDao的bean,格式如下
<bean id="cityDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.jd.lgg.web.dao.CityDao" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>经过这三步就可以在service层调用CityDao接口中方法进行操作数据库中表了
二,弊端与改进
随着项目越来越大,dao层的接口会越来越多,每个dao层的接口都单独定义的话,费时费力,而且容易出错,有没有更好的方法呢?答案是有,那就是批量定义所有dao层的方法,而不再是单独定义,批量定义的格式如下:
<!--自动加载所有的mapper.xml所对应的dao层接口,不再需要单独配置 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.jd.lgg.web.dao"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
相关文章推荐
- mybatis如何自动生成实体类,映射文件以及对应的dao层
- Mybatis 无法加载对应的Mapping映射文件
- Mybatis中接口和对应的mapper文件位置配置深入剖析
- mybatis 详解(六)------通过mapper接口加载映射文件
- [MyBatis]DAO层只写接口,不用写实现类
- Mybatis如何单个和批量定义别名typeAliases
- Mybatis中接口和对应的mapper文件位置详解
- Mybatis中接口和对应的mapper文件位置配置深入剖析
- mybatis如何通过接口查找对应的mapper.xml及方法执行详解
- Mybatis自动生成实体类,映射文件,以及dao层接口。
- 使用mybatis自动生成工具,生成对应的类,配置文件,接口
- Mybatis中接口和对应的mapper文件位置配置深入剖析
- Mybatis中接口和对应的mapper文件位置配置详解
- jQuery:多个AJAX/JSON请求对应单个回调并行加载
- 【框架】[MyBatis]DAO层只写接口,不用写实现类
- 使用MyBatis Generator自动创建表对应的dao层接口、模型层对象、sql语句的xml文件
- mybatis 详解(六)------通过mapper接口加载映射文件
- (三)mybatis之通过接口加载映射配置文件
- mybatis通过接口查找对应的mapper.xml以及方法执行
- 在mybatis 中批量加载mapper.xml