【附源码】搭建MVC:Spring+FreeMarker+MyBatis

本教程详细介绍了如何在已有Spring+Freemarker项目中集成MyBatis。包括环境准备、创建User模型、完善Controller、建立DAO、配置ApplicationContext.xml、创建mybatis-config.xml,以及测试数据库操作。通过这个过程,成功实现Spring MVC、Freemarker和MyBatis的整合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:

由于是在已有的spring+freemarker的项目之上搭建,所以前面的工作就省略,直接进入搭建MyBatis环节。

 

环境准备:

1Spring+freemarker项目(详见我的另一篇文章《【附源码】搭建spring mvc+freemarker

2Mysql,并创建数据表(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&amp;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

 

本文部分内容参考了http://www.cnblogs.com/jyh317/p/3834142.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值