说明:
由于是在已有的spring+freemarker的项目之上搭建,所以前面的工作就省略,直接进入搭建MyBatis环节。
环境准备:
1、Spring+freemarker项目(详见我的另一篇文章《【附源码】搭建spring mvc+freemarker》)
2、Mysql,并创建数据表(user---id,username,password)。
3、需要新引入的jar包:
mybatis-spring-1.2.1.jar
mysql-connector-java-5.1.5-bin.jar
mybatis-3.1.1.jar
mybatis-3.1.1-javadoc.jar
mybatis-3.1.1-sources.jar
开始搭建:
1、修改com.lantii.model.User.java。加入id等操作。
packagecom.lantii.model;
public class User {
privateString username;
privateString password;
privateint id;
publicUser(){}
publicString getUsername() {
returnusername;
}
publicvoid setUsername(String username) {
this.username= username;
}
publicString getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password= password;
}
publicint getId(){
returnid;
}
publicvoid setId(int id){
this.id=id;
}
publicString toString(){
return"User[id="+id+" , username="+username+" ,password="+password+"]";
}
}
2、完善com.lantii.action.UserController.java,创建mybatisTest测试方法,并在main里面调用。目的是后边做测试,验证集成mybatis是否成功。
public voidmybatisTest(){
ApplicationContextctx=null;
ctx=newClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao=(UserDao)ctx.getBean("userDao");
User user=new User();
//添加两条数据
user.setId(1);
user.setUsername("Jessica");
user.setPassword("123");
userDao.addUser(user);
user.setId(2);
user.setUsername("Jessica2");
user.setPassword("123");
userDao.addUser(user);
System.out.println("添加成功");
//查询数据
user.setUsername("Jessica");
user.setPassword("123");
System.out.println(userDao.getUser(user).toString());
user.setUsername("Jessica2");
user.setPassword("123");
System.out.println(userDao.getUser(user).toString());
//修改数据
user.setId(2);
user.setPassword("802");
userDao.updateUser(user);
System.out.println("修改成功");
//删除数据
userDao.deleteUser(1);
System.out.println("删除成功");
}
publicstatic void main(String[] args) {
UserControllertest=new UserController();
test.mybatisTest();
}
3、创建DAO。
3.1创建 com.springMyBatis.system.dao.UserDao.java
packagecom.springMyBatis.system.dao;
importcom.lantii.model.User;;
public interfaceUserDao {
public User getUser(User user);
public void addUser(User user);
public void updateUser(User user);
public void deleteUser(int UserId);
}
3.2创建com.springMyBatis.system.dao.UserDao.xml
<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mappernamespace="com.springMyBatis.system.dao.UserDao">
<selectid="getUser" parameterType="com.lantii.model.User"resultType="com.lantii.model.User">
SELECT * FROM user WHEREusername=#{username} AND password=#{password}
</select>
<insertid="addUser" parameterType="com.lantii.model.User"flushCache="true">
INSERT INTO user (username,password) VALUES(#{username},#{password})
</insert>
<updateid="updateUser"parameterType="com.lantii.model.User">
UPDATE user SET password=#{password} WHEREid=#{id}
</update>
<deleteid="deleteUser" parameterType="int">
DELETE FROM user WHERE id=#{id}
</delete>
</mapper>
4、配置ApplicationContext.xml
<?xmlversion="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!--配置数据源-->
<bean id="jdbcDataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName">
<!-- <value>
org.gjt.mm.mysql.Driver
com.mysql.jdbc.Driver
</value> -->
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</value>
<!--springmybaitis是我的数据库 -->
</property>
<propertyname="username">
<value>root</value>
</property>
<propertyname="password">
<value>admin</value>
</property>
</bean>
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource"ref="jdbcDataSource" />
<propertyname="configLocation"value="classpath:mybatis-config.xml"></property>
</bean>
<beanid="userDao"class="org.mybatis.spring.mapper.MapperFactoryBean">
<propertyname="mapperInterface"value="com.springMyBatis.system.dao.UserDao"></property>
<propertyname="sqlSessionFactory"ref="sqlSessionFactory"></property>
</bean>
</beans>
5、创建mybatis-config.xml
<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPEconfiguration PUBLIC
"-//mybatis.org//DTD Config3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<mapperresource="com/springMyBatis/system/dao/UserDao.xml"/>
</mappers>
</configuration>
截止目前,集成工作已经告一段落,现在查看下项目结构:
6、测试
执行UserController.java,进行数据库操作测试。
执行结果:
mysql结果:
Spring+freemarker+mybatis集成成功!
【源码下载:http://pan.baidu.com/s/1kVgwmft】