目錄結構: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); } }