mybatis3和spring3整合(一)

目錄結構:
java

步驟:spring

一、建立User表sql

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment,
  `userName` varchar(50) default NULL,
  `userAge` int(11) default NULL,
  `userAddress` varchar(200) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong');

二、編寫User.javamybatis

package org.zsm.study.mybatis.domain;
public class User {
 private int id;
 private String userName;
 private String userAge;
 private String userAddress;
 
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getUserName() {
  return userName;
 }
 public void setUserName(String userName) {
  this.userName = userName;
 }
 public String getUserAge() {
  return userAge;
 }
 public void setUserAge(String userAge) {
  this.userAge = userAge;
 }
 public String getUserAddress() {
  return userAddress;
 }
 public void setUserAddress(String userAddress) {
  this.userAddress = userAddress;
 }
}

三、配置mybatis.xml文件app

<?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 alias="User" type="org.zsm.study.mybatis.domain.User"/>
 </typeAliases>
 <mappers>
  <mapper resource="org/zsm/study/mybatis/domain/User.xml"/>
 </mappers>
</configuration>

四、編寫UserMapper.xml文件dom

<?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="org.zsm.study.mybatis.inter.IUserOperation">
 <resultMap type="User" id="resultListUser">
  <id column="id" property="id" />
  <result column="userName" property="userName" />
  <result column="userAge" property="userAge" />
  <result column="userAddress" property="userAddress" />
 </resultMap>
 
 <insert id="addUser" parameterType="User" useGeneratedKeys="true"
  keyProperty="id">
  insert into user(userName,userAge,userAddress)
  values(#{userName},#{userAge},#{userAddress})
 </insert>
 
 <update id="updateUser" parameterType="User" >
        update user set userName=#{userName},userAge=#{userAge},userAddress=#{userAddress} 
        where id=#{id}
 </update>
 
 <select id="selectUserByID" parameterType="int" resultType="User">
      select * from user where id = #{id}
 </select>
 <delete id="deleteUser" parameterType="int">
        delete from user where id=#{id}
 </delete>
</mapper>

五、編寫IUserOperation接口測試

package org.zsm.study.mybatis.inter;
import java.util.List;
import org.zsm.study.mybatis.domain.User;
public interface IUserOperation {
 
 public void addUser(User user);
 
 public void updateUser(User user);
 
 public User selectUserByID(int id);
 
 public List<User> selectUsers(String username);
 
 public void deleteUser(int id);
 
}

六、配置spring.xml文件this

<?xml version="1.0" encoding="UTF-8"?>
<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:tx="http://www.springframework.org/schema/tx"
 xsi:schemaLocation="http://www.springframework.org/schema/beans 
     
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd
     http://www.springframework.org/schema/tx 
     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
 
 <!-- 引入jdbc配置文件 -->
 <context:property-placeholder location="jdbc.properties"/>
 
 <!-- 建立jdbc數據源 -->
 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass" value="${driver}"/>
  <property name="jdbcUrl" value="${url}"/>
  <property name="user" value="${username}"/>
  <property name="password" value="${password}"/>
 </bean>
 <!-- 建立SqlSessionFactory,同時指定數據源 -->
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource"/>
  <property name="configLocation" value="mybatis-config.xml"/>
 </bean>
 
 <!-- 定義映射接口 -->
 <bean id="UserMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
  <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
  <!-- 映射器對象接口,必須的 
    value="映射的命名空間接口 -->
  <property name="mapperInterface" value="org.zsm.study.mybatis.inter.IUserOperation"/>
 </bean>
</beans>

七、測試url

 public class MybatisSpringTest {
 private ApplicationContext ctx = null;
 
 @Before
 public void setUp() throws Exception {
  ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
 }
 @After
 public void tearDown() throws Exception {
  ctx = null;
 }
 @Test
 public void testGetUser() {
  IUserOperation userOperation = (IUserOperation) ctx.getBean("UserMapper");
  User user =userOperation.selectUserByID(1);
  System.out.println(user.getUserName()+" "+user.getUserAddress());
 }
 
 @Test
 public void testAddUser(){
  User user = new User();
  user.setUserName("zhangsan");
  user.setUserAge("22");
  user.setUserAddress("hubei wuhan");
  
  IUserOperation userOperation = (IUserOperation) ctx.getBean("UserMapper");
  userOperation.addUser(user);
 }
}
相關文章
相關標籤/搜索