今天学习了mybatis整合Spring开发,做了一个mybatis+spring的小实例

(1)首先,创建数据库my,并在数据库my中创建表user

  1. create database my;
  2.  
  3. use my;
  4. create table user(
  5. id int(10) auto_increment,
  6. name varchar(64),
  7. level varchar(256),
  8. phone varchar(256),
  9. primary key(id)
  10. );
  11.  
  12. insert into user(id,name,level,phone) values(1,'a','a','1234555666');

(2)导入jar包

(3)在com.zk.pojo下创建实体类User.java

  1. package com.zk.pojo;
  2.  
  3. public class User {
  4. private int id;
  5. private String name;
  6. private String level;
  7. private String phone;
  8. public int getId() {
  9. return id;
  10. }
  11. public void setId(int id) {
  12. this.id = id;
  13. }
  14. public String getName() {
  15. return name;
  16. }
  17. public void setName(String name) {
  18. this.name = name;
  19. }
  20. public String getLevel() {
  21. return level;
  22. }
  23. public void setLevel(String level) {
  24. this.level = level;
  25. }
  26. public String getPhone() {
  27. return phone;
  28. }
  29. public void setPhone(String phone) {
  30. this.phone = phone;
  31. }
  32. @Override
  33. public String toString() {
  34. return "User [id=" + id + ", name=" + name + ", level=" + level
  35. + ", phone=" + phone + "]";
  36. }
  37.  
  38. }

(4)创建dao层接口、实现类、mapper映射文件(UserMapper.java、UserMapperImpl.java、UserMapper.xml)

UserMapper.java

  1. package com.zk.dao;
  2.  
  3. import java.util.List;
  4.  
  5. import com.zk.pojo.User;
  6.  
  7. public interface UserMapper {
  8.  
  9. List<User> getUser(User user);
  10. }

UserMapperImpl.java

  1. package com.zk.dao;
  2.  
  3. import java.util.List;
  4.  
  5. import org.mybatis.spring.SqlSessionTemplate;
  6.  
  7. import com.zk.pojo.User;
  8.  
  9. public class UserMapperImpl implements UserMapper{
  10.  
  11. public SqlSessionTemplate sqlSession;
  12.  
  13. @Override
  14. public List<User> getUser(User user) {
  15. // TODO Auto-generated method stub
  16. return sqlSession.selectList("com.zk.dao.UserMapper.getUserList",user);
  17. }
  18. public SqlSessionTemplate getSqlSession() {
  19. return sqlSession;
  20. }
  21.  
  22. public void setSqlSession(SqlSessionTemplate sqlSession) {
  23. this.sqlSession = sqlSession;
  24. }
  25. }

UserMapper.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4.  
  5. <mapper namespace="com.zk.dao.UserMapper">
  6. <select id="getUserList" resultType="User" parameterType="User">
  7. SELECT * FROM `user`
  8. </select>
  9. </mapper>

(5)创建service层接口、实现类(UserService.java、UserServiceImpl.java)

UserService.java

  1. package com.zk.service;
  2.  
  3. import java.util.List;
  4.  
  5. import com.zk.pojo.User;
  6.  
  7. public interface UserService{
  8.  
  9. List<User> findUserList(User user) throws Exception;
  10. }

 UserServiceImpl.java

  1. package com.zk.service;
  2.  
  3. import java.util.List;
  4.  
  5. import com.zk.dao.UserMapper;
  6. import com.zk.pojo.User;
  7.  
  8. public class UserServiceImpl implements UserService{
  9.  
  10. private UserMapper usermapper;
  11. @Override
  12. public List<User> findUserList(User user) throws Exception {
  13. // TODO Auto-generated method stub
  14. try {
  15. return usermapper.getUser(user);
  16. } catch (Exception e) {
  17. // TODO Auto-generated catch block
  18. e.printStackTrace();
  19. throw e;
  20. }
  21. }
  22. public UserMapper getUsermapper() {
  23. return usermapper;
  24. }
  25. public void setUsermapper(UserMapper usermapper) {
  26. this.usermapper = usermapper;
  27. }
  28. }

(6)配置config.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  4. <configuration>
  5.  
  6. <typeAliases>
  7. <package name="com.zk.pojo"/>
  8. </typeAliases>
  9. </configuration>

(7)配置ApplicationContext.xml

  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" xmlns:aop="http://www.springframework.org/schema/aop"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd
  6. http://www.springframework.org/schema/aop
  7. http://www.springframework.org/schema/aop/spring-aop.xsd
  8. http://www.springframework.org/schema/tx
  9. http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
  10. <!-- 配置数据源 -->
  11. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  12. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  13. <property name="url" value="jdbc:mysql://localhost:3306/my"/>
  14. <property name="username" value="root"/>
  15. <property name="password" value="123456"/>
  16. </bean>
  17. <!-- 获得sqlSessionFactory -->
  18. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  19. <!-- 映射数据源 -->
  20. <property name="dataSource" ref="dataSource"/>
  21. <!-- 映射mybatis核心配置文件 -->
  22. <property name="configLocation" value="config/config.xml"/>
  23. <!-- 映射mapper文件 -->
  24. <property name="mapperLocations">
  25. <list>
  26. <value>classpath:com/zk/dao/**/*.xml</value>
  27. </list>
  28. </property>
  29. </bean>
  30. <!-- 获得sqlSession -->
  31. <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
  32. <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
  33. </bean>
  34. <bean id="UserMapper" class="com.zk.dao.UserMapperImpl">
  35. <property name="sqlSession" ref="sqlSession"/>
  36. </bean>
  37. <bean id="UserService" class="com.zk.service.UserServiceImpl">
  38. <property name="usermapper" ref="UserMapper"/>
  39. </bean>
  40. </beans>

(8)测试类Main

  1. package test;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.springframework.context.ApplicationContext;
  7. import org.springframework.context.support.ClassPathXmlApplicationContext;
  8.  
  9. import com.zk.pojo.User;
  10. import com.zk.service.UserService;
  11.  
  12. public class test {
  13. public static void main(String[]args) throws Exception
  14. {
  15. ApplicationContext ac=new ClassPathXmlApplicationContext("config/applicationContext.xml");
  16. UserService us=(UserService) ac.getBean("UserService");
  17. List<User> user1=new ArrayList<User>();
  18. User user=new User();
  19. user1=us.findUserList(user);
  20. System.out.println(user1);
  21. }
  22. }

  运行结果图如下:

程序结构图如下:

mybatis--Spring整合mybatis的更多相关文章

  1. Intellij IDEA +MAVEN+Jetty实现Spring整合Mybatis

    1 pom.xml(这里出现transaction错误,是版本的问题) <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  2. Spring学习总结(六)——Spring整合MyBatis完整示例

    为了梳理前面学习的内容<Spring整合MyBatis(Maven+MySQL)一>与<Spring整合MyBatis(Maven+MySQL)二>,做一个完整的示例完成一个简 ...

  3. Spring学习总结(五)——Spring整合MyBatis(Maven+MySQL)二

    接着上一篇博客<Spring整合MyBatis(Maven+MySQL)一>继续. Spring的开放性和扩张性在J2EE应用领域得到了充分的证明,与其他优秀框架无缝的集成是Spring最 ...

  4. 分析下为什么spring 整合mybatis后为啥用不上session缓存

    因为一直用spring整合了mybatis,所以很少用到mybatis的session缓存. 习惯是本地缓存自己用map写或者引入第三方的本地缓存框架ehcache,Guava 所以提出来纠结下 实验 ...

  5. 2017年2月16日 分析下为什么spring 整合mybatis后为啥用不上session缓存

    因为一直用spring整合了mybatis,所以很少用到mybatis的session缓存. 习惯是本地缓存自己用map写或者引入第三方的本地缓存框架ehcache,Guava 所以提出来纠结下 实验 ...

  6. spring整合mybatis错误:class path resource [config/spring/springmvc.xml] cannot be opened because it does not exist

    spring 整合Mybatis 运行环境:jdk1.7.0_17+tomcat 7 + spring:3.2.0 +mybatis:3.2.7+ eclipse 错误:class path reso ...

  7. spring 整合Mybatis 《报错集合,总结更新》

    错误:java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldExcepti ...

  8. spring整合mybatis(hibernate)配置

    一.Spring整合配置Mybatis spring整合mybatis可以不需要mybatis-config.xml配置文件,直接通过spring配置文件一步到位.一般需要具备如下几个基本配置. 1. ...

  9. spring 整合 mybatis 中数据源的几种配置方式

    因为spring 整合mybatis的过程中, 有好几种整合方式,尤其是数据源那块,经常看到不一样的配置方式,总感觉有点乱,所以今天有空总结下. 一.采用org.mybatis.spring.mapp ...

  10. Mybatis学习(六)————— Spring整合mybatis

    一.Spring整合mybatis思路 非常简单,这里先回顾一下mybatis最基础的根基, mybatis,有两个配置文件 全局配置文件SqlMapConfig.xml(配置数据源,全局变量,加载映 ...

随机推荐

  1. HBuilderX开发app实现自动更新版本

      需求说明:使用MUI+Vue等技术并且通过HBuilderX打包开发移动app,在有版本更新时需要自动提示用户有新版本,并且可以点击下载自动安装. 思路说明: 应用打开时(使用Vue的生命周期mo ...

  2. python笔记20(面向对象课程二)

    今日内容 类成员 成员修饰符 内容回顾 & 补充 三大特性 封装 函数封装到类 数据封装到对象 * class Foo: def __init__(self,name,age): self.n ...

  3. js和jq跳转到另一个页面或者在另一个窗口打开页面

    $("#pic").click(function(){ location.href='newpage.html'; }); 上面的相当于<a href="newpa ...

  4. gap间隙锁

    1.什么式gap锁 (1)在索引记录之间,或者在索引之前,或者索引之后的区间上加锁,就是gap锁.比如: SELECT c1 FROM t WHERE c1 BETWEEN 10 and 20 FOR ...

  5. 洛谷P1028 数的计算

    https://www.luogu.org/problem/P1028 #include<cstdio> using namespace std; int main(){ ,i,f[]; ...

  6. 计蒜客 - A1603.天上的星星

    二维差分,理论上很简单,虽然我实际上做的时候一堆问题 1.边界的星星包含在内,需要在减去的时候往前挪一个 2.我是从0开始的,循环的时候非常不方便 3.x1, x2, y1, y2总是弄混 #incl ...

  7. 【Python】random库

    种子相同,随机数相同

  8. Motif

    Motif discovery is in loose terms the problem of finding interesting patterns in sequences. motif: i ...

  9. MyEclipse设置不编译js部分

    https://jingyan.baidu.com/album/ca41422fe094251eae99ede7.html?picindex=1 步骤: 1)选中当前工程,右键单击properties ...

  10. 未能加载文件或程序集“Autofac.Integration.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

    是因为web.config中dependentAssembly结点下的版本号和当前引用的程序集的版本号不一致!