1. 程式人生 > >spring + springmvc + mybatis整合以及一些常見問題(二)

spring + springmvc + mybatis整合以及一些常見問題(二)

  1. 建立entity(實體類)
  2. 建立dao
    對資料庫進行操作
  3. 在main/resources中建立一個包 裡面放Mapper
	<?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.yangyang.dao.UserDAO">
   <!-- parameterType 引數 -->
<!-- resultType 返回值 --> <select id="QuestALL" resultType="User"> select * from user </select> </mapper>
  1. 配置spring
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd "
>
<!-- 開啟註解掃描 --><!-- service 位置 --> <context:component-scan base-package="com.yangyang" /> <!-- 引入小配置檔案 --> <context:property-placeholder location="classpath:jdbc.properties" /> <!-- 建立資料來源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.drivcer}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.name}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- 建立sqlsessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" > <property name="dataSource" ref="dataSource" /> <property name="typeAliasesPackage" value="com.yangyang.entity" /> <property name="mapperLocations" value="classpath:com/yangyang/mapper/*Mapper.xml" /> </bean> <!-- 建立DAO物件 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" > <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> <property name="basePackage" value="com.yangyang.dao" /> </bean> <!-- 建立事務管理 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" > <property name="dataSource" ref="dataSource" /> </bean> <!-- 開啟註解式事務生效 --> <tx:annotation-driven transaction-manager="transactionManager" /> </beans>
  1. service(業務層)
/*註解注入service(業務層)*/
/*@transactional 新增事務*/
@Service("userService")
@Transactional
public class UserServiceIMP implements UserService {
	/*自動注入*/
    @Autowired
    private UserDAO userDAO;

    /*實現方法*/
    public List<User> questALL() {
        System.out.println("aaaa");
        List<User> users = userDAO.QuestALL();
        return users;
    }
}
  1. 測試 Test
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring.xml")
public class TsstUser {
    @Autowired
    private UserService userService;

    @Test
    public void Test1(){
        List<User> users = userService.questALL();
        System.out.println(users);
    }
}

這是spring和mybatis的整合
通常我在做這兩個整合的時候經常會出一些或大或小的問題,之後會貼在下面。