个人笔记,如有错误,恳请批评指正。
数据操作类定义批量添加部门的方法
public int insertDeptList(List list){ int i = 0; try { session = MybatisSessionFactory.getSession(); i = session.insert("cn.ustb.entity.DeptMapper.insertDeptList", list); session.commit(); } catch (Exception e) { e.printStackTrace(); session.rollback(); } finally{ MybatisSessionFactory.closeSession(); } return i; }去掉数据源配置
<?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> <typeAliases> <typeAlias type="cn.ustb.entity.Dept" alias="Dept" /> </typeAliases> <mappers> <mapper resource="cn/ustb/entity/DeptMapper.xml" /> </mappers></configuration>DeptDao.java
public interface DeptDao { //根据部门ID查询部门信息 public Dept selectOne(int deptId);}修改接口实现类:DeptDaoImpl.java
public class DeptDaoImpl { private SqlSessionTemplate sqlSessionTemplate; public SqlSessionTemplate getSqlSessionTemplate() { return sqlSessionTemplate; } public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) { this.sqlSessionTemplate = sqlSessionTemplate; } public Dept selectOne(int deptId){ Dept dept = null; dept = sqlSessionTemplate.selectOne("cn.ustb.entity.DeptMapper.selectOne", deptId); return dept; }}编写业务层代码 业务层接口略,这里只写业务层实现类:DeptServiceImpl.java
public class DeptServiceImpl { private DeptDao deptDao; public DeptDao getDeptDao() { return deptDao; } @Resource public void setDeptDao(DeptDao deptDao) { this.deptDao = deptDao; } public Dept selectOne(int id){ return deptDao.selectOne(id); } public int insertDept(Dept dept){ return deptDao.insertDept(dept); }}配置bean信息到sping配置文件
<!-- DAO层部门信息表的数据操作对象 --><bean id="deptDao" class="cn.ustb.dao.impl.DeptDaoImpl" > <property name="sqlSessionTemplate" ref="sqlSessionTemplate"/></bean><!-- 业务层部门信息业务处理对象 --><bean id="deptService" class="cn.ustb.service.impl.DeptServiceImpl"> <property name="deptDao" ref="deptDao"/></bean>修改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> <typeAliases> <typeAlias type="cn.ustb.entity.Dept" alias="Dept" /> </typeAliases> <!-- 采用扫描式加载映射文件,以下将不用配置,可以减少映射文件过多时维护的麻烦 --> <!-- <mappers> <mapper resource="cn/ustb/entity/DeptMapper.xml" /> </mappers> --></configuration>修改applicationContext.xml,为SqlSessionFactoryBean设置mapperLocations属性
<!-- 配置session工厂 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:myBatis-config.xml" /> <!-- 配置扫描式加载SQL映射文件 --> <property name="mapperLocations" value="classpath:cn/ustb/entity/*.xml"/> </bean>注意:命名空间+id和接口+方法名 一致
<?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"><!-- 这时的命名空间就需要和dao接口类全类名一致了 --><mapper namespace="cn.ustb.dao.DeptDao"> <resultMap id="deptResultMap" type="Dept"> <id property="deptId" column="dept_id" /> <result property="deptName" column="dept_name" /> <result property="deptAddress" column="dept_address" /> </resultMap> <!-- 这时的id就需要和dao接口的方法一致了 --> <select id="selectOne" parameterType="int" resultMap="deptResultMap"> select * from dept where dept_id=#{id} </select></mapper>新闻热点
疑难解答