Spring+Mybatis+Velocity整合(3):整合Mybatis

正式开始配置关键内容,这是硬货 
1、新建spring配置文件,起名为 applicationContext.xml,放在src/main/resources/spring目录下。 
内容如下:

1<?xml version="1.0" encoding="UTF-8"?> 2<beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xmlns:jdbc="http://www.springframework.org/schema/jdbc" 6 xmlns:jee="http://www.springframework.org/schema/jee" 7 xmlns:tx="http://www.springframework.org/schema/tx" 8 xmlns:aop="http://www.springframework.org/schema/aop" 9 xmlns:mvc="http://www.springframework.org/schema/mvc" 10 xmlns:jpa="http://www.springframework.org/schema/data/jpa" 11 xsi:schemaLocation=" 12 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 13 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 14 http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd 15 http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd 16 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 17 http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd 18 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 19 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> 20 21 <!--开始配置--> 22</beans>

2、web.xml文件配置

<!-- spring的监听以及配置文件加载信息 -->
1<context-param> 2 <param-name>contextConfigLocation</param-name> 3 <!-- 上面配置的spring配置文件的路径,区分大小写 --> 4 <param-value>classpath:spring/applicationContext.xml</param-value> 5</context-param> 6 7<listener> 8 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 9</listener>

加入这个用来在启动web容器时,读取spring配置

3.新建数据源的配置文件datasource.properties放在src/main/resources目录下:

1driverClassName=com.mysql.jdbc.Driver 2url=jdbc:mysql://localhost:3306/user?characterEncoding=utf-8 3username=root 4password=1234

4.配置一个duird数据源,在applicationContext.xml中加入:

1 <!--开始配置--> 2 3 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 4 <property name="locations" value="classpath:datasource.properties" /> 5 </bean> 6 7 <!-- 配置数据源 --> 8 <bean id="ds" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> 9 <property name="url" value="${url}"/> 10 <property name="driverClassName" value="${driverClassName}"/> 11 <property name="username" value="${username}"/> 12 <property name="password" value="${password}"/> 13 </bean>

5.配置Mybatis

1 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 2 <property name="dataSource" ref="dataSource"/> 3 <property name="mapperLocations" value="classpath*:mappers/*Mapper.xml"></property> 4 </bean> 5 6 <bean name="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 7 <property name="basePackage" value="com.jczj123.Test3.dao"/> 8 </bean>

6.配置就这么多,下面是代码

model下新建User实体类

1package com.jczj123.Test3.model; 2 3/** 4 * Created by wangkai on 2017/7/9. 5 */ 6public class User { 7 8 private Integer id; 9 10 private String username; 11 12 private String password; 13 14 public User(Integer id, String username, String password) { 15 this.id = id; 16 this.username = username; 17 this.password = password; 18 } 19 20 public Integer getId() { 21 return id; 22 } 23 24 public void setId(Integer id) { 25 this.id = id; 26 } 27 28 public String getUsername() { 29 return username; 30 } 31 32 public void setUsername(String username) { 33 this.username = username; 34 } 35 36 public String getPassword() { 37 return password; 38 } 39 40 public void setPassword(String password) { 41 this.password = password; 42 } 43}

在dao下新建一个UserMapper

1package com.jczj123.Test3.dao; 2 3import com.jczj123.Test3.model.User; 4 5import java.util.List; 6 7/** 8 * Created by wangkai on 2017/7/9. 9 */ 10public interface UserMapper { 11 12 User selectById(int id); 13 14 List<User> selectAll(); 15 16}

在src/main/resources下新建目录mappers

新建UserMapper.xml

1<?xml version="1.0" encoding="UTF-8" ?> 2<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 3<mapper namespace="com.jczj123.Test3.dao.UserMapper" > 4 <resultMap id="BaseResultMap" type="com.jczj123.Test3.model.User" > 5 <constructor > 6 <idArg column="id" jdbcType="INTEGER" javaType="java.lang.Integer" /> 7 <arg column="username" jdbcType="VARCHAR" javaType="java.lang.String" /> 8 <arg column="password" jdbcType="VARCHAR" javaType="java.lang.String" /> 9 </constructor> 10 </resultMap> 11 <sql id="Base_Column_List" > 12 id, username, password 13 </sql> 14 <select id="selectById" resultMap="BaseResultMap" parameterType="java.lang.Integer" > 15 select 16 <include refid="Base_Column_List" /> 17 from user 18 where id = #{id,jdbcType=INTEGER} 19 </select> 20 21 <select id="selectAll" resultMap="BaseResultMap"> 22 select 23 <include refid="Base_Column_List" /> 24 from user 25 </select> 26 27</mapper>

service包下新建IUserService接口

1package com.jczj123.Test3.service; 2 3import com.jczj123.Test3.model.User; 4 5import java.util.List; 6 7/** 8 * Created by wangkai on 2017/7/9. 9 */ 10public interface IUserService { 11 12 User findById(int id); 13 14 List<User> findAll(); 15 16}

service包下新建子包impl

新建实现类

UserServiceImpl

1package com.jczj123.Test3.service.impl; 2 3import com.jczj123.Test3.dao.UserMapper; 4import com.jczj123.Test3.model.User; 5import com.jczj123.Test3.service.IUserService; 6import org.springframework.beans.factory.annotation.Autowired; 7import org.springframework.stereotype.Service; 8 9import java.util.List; 10 11/** 12 * Created by wangkai on 2017/7/9. 13 */ 14@Service(value = "userService") 15public class UserServiceImpl implements IUserService { 16 17 @Autowired 18 private UserMapper userMapper; 19 20 public User findById(int id) { 21 return userMapper.selectById(id); 22 } 23 24 public List<User> findAll() { 25 return userMapper.selectAll(); 26 } 27}

controller下新建一个UserController

1package com.jczj123.Test3.controller; 2 3import com.jczj123.Test3.model.User; 4import com.jczj123.Test3.service.IUserService; 5import org.springframework.beans.factory.annotation.Autowired; 6import org.springframework.stereotype.Controller; 7import org.springframework.ui.ModelMap; 8import org.springframework.web.bind.annotation.RequestMapping; 9 10import java.util.List; 11 12/** 13 * Created by wangkai on 2017/7/9. 14 */ 15@Controller 16public class UserController { 17 18 @Autowired 19 private IUserService userService; 20 21 @RequestMapping("/list.do") 22 public String doGet(ModelMap modelMap) { 23 List<User> userList = userService.findAll(); 24 25 modelMap.addAttribute("users", userList); 26 return "userList"; 27 } 28}

velocity下新建userList.vm文件

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <title>用户列表</title> 6</head> 7<body> 8 <table border="1"> 9 <tr> 10 <th>用户id</th> 11 <th>用户名</th> 12 <th>密码</th> 13 </tr> 14 #foreach($user in $users) 15 <tr> 16 <td>$user.id</td> 17 <td>$user.username</td> 18 <td>$user.password</td> 19 </tr> 20 #end 21 </table> 22</body> 23</html>

启动tomcat服务器,浏览器访问:

http://localhost:8088/list.do

就可以看到:

表示成功了

代码托管在码云上,地址是:

http://git.oschina.net/nicekk/spring-mybatis-simple

欢迎访问

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )