首页 > 编程语言 > 详细

Java基础-SSM之Spring和Mybatis整合案例

时间:2018-07-12 11:07:17      阅读:276      评论:0      收藏:0      [点我收藏+]

                Java基础-SSM之Spring和Mybatis整合案例

                                         作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

   在之前我分享过mybatis和Spring的配置案例,想必大家对它们的配置已经很熟悉了,接下来我们把两者结合起来让他们一起来协同工作,帮我们在数据库中插入数据,编程起来是相当的方便。

 

 

一.准备环境

1>.案例分析

   我们想要把一条数据插入到数据库中,利用Spring和mybatis插件来完成,大致的流程图如下:

技术分享图片

2>.数据库配置创建测试数据表 

  在编程之前,我们需要启动数据库,并在数据库中提前创建出我们需要用到的测试表。创建过程如下:

 

1 create database yinzhengjie;
2 
3 use yinzhengjie;
4 
5 create table if not exists users(id int primary key auto_increment,name varchar(20) , age int) ;

 

技术分享图片

 

二.实操演示

1>.创建新模块,引入Maven依赖

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>cn.org.yinzhengjie</groupId>
 8     <artifactId>MySpringMybatis</artifactId>
 9     <version>1.0-SNAPSHOT</version>
10 
11     <dependencies>
12         <dependency>
13             <groupId>junit</groupId>
14             <artifactId>junit</artifactId>
15             <version>4.11</version>
16         </dependency>
17         <dependency>
18             <groupId>org.springframework</groupId>
19             <artifactId>spring-context-support</artifactId>
20             <version>4.3.5.RELEASE</version>
21         </dependency>
22         <dependency>
23             <groupId>org.springframework</groupId>
24             <artifactId>spring-jdbc</artifactId>
25             <version>4.3.5.RELEASE</version>
26         </dependency>
27         <dependency>
28             <groupId>org.mybatis</groupId>
29             <artifactId>mybatis</artifactId>
30             <version>3.2.1</version>
31         </dependency>
32         <dependency>
33             <groupId>org.mybatis</groupId>
34             <artifactId>mybatis-spring</artifactId>
35             <version>1.3.0</version>
36         </dependency>
37         <dependency>
38             <groupId>c3p0</groupId>
39             <artifactId>c3p0</artifactId>
40             <version>0.9.1.2</version>
41         </dependency>
42         <dependency>
43             <groupId>mysql</groupId>
44             <artifactId>mysql-connector-java</artifactId>
45             <version>5.1.17</version>
46         </dependency>
47         <dependency>
48             <groupId>org.aspectj</groupId>
49             <artifactId>aspectjrt</artifactId>
50             <version>1.6.1</version>
51         </dependency>
52         <dependency>
53             <groupId>org.aspectj</groupId>
54             <artifactId>aspectjweaver</artifactId>
55             <version>1.8.10</version>
56         </dependency>
57     </dependencies>
58 </project>

2>.创建相应的包并编写代码

 技术分享图片

技术分享图片
 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 package cn.org.yinzhengjie.sm.dao;
 7 
 8 import java.util.List;
 9 
10 /**
11  * Basedao,基本dao
12  */
13 public interface BaseDao<T> {
14     public void insert(T t) ;
15     public void update(T t) ;
16     public void delete(Integer id) ;
17     public T selectOne(Integer id) ;
18     public List<T> selectAll() ;
19 }
BaseDao.java 文件内容
技术分享图片
 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 package cn.org.yinzhengjie.sm.dao.impl;
 7 
 8 import cn.org.yinzhengjie.sm.dao.BaseDao;
 9 import cn.org.yinzhengjie.sm.domain.User;
10 import org.apache.ibatis.session.SqlSessionFactory;
11 import org.mybatis.spring.support.SqlSessionDaoSupport;
12 import org.springframework.stereotype.Repository;
13 
14 import javax.annotation.Resource;
15 import java.util.List;
16 
17 /**
18  *
19  */
20 @Repository("userDao")
21 public class UserDaoImpl extends SqlSessionDaoSupport implements BaseDao<User> {
22 
23     public void insert(User user) {
24         getSqlSession().insert("users.insert" , user) ;
25     }
26 
27     public void update(User user) {
28         getSqlSession().update("users.update", user);
29     }
30 
31     public void delete(Integer id) {
32         getSqlSession().delete("users.deleteOne", id);
33     }
34 
35     public User selectOne(Integer id) {
36         return getSqlSession().selectOne("users.selectOne", id);
37     }
38 
39     public List<User> selectAll() {
40         return getSqlSession().selectList("users.selectAll");
41     }
42 
43     @Resource(name="sqlSessionFactory")
44     public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
45         super.setSqlSessionFactory(sqlSessionFactory);
46     }
47 }
UserDaoImpl.java 文件内容
技术分享图片
 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 package cn.org.yinzhengjie.sm.service;
 7 
 8 import java.util.List;
 9 
10 /**
11  * Created by Administrator on 2018/7/12.
12  */
13 public interface BaseService<T> {
14     public void insert(T t);
15 
16     public void update(T t);
17 
18     public void delete(Integer id);
19 
20     public T selectOne(Integer id);
21 
22     public List<T> selectAll();
23 }
BaseService.java 文件内容
技术分享图片
 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 package cn.org.yinzhengjie.sm.service.impl;
 7 
 8 import cn.org.yinzhengjie.sm.dao.BaseDao;
 9 import cn.org.yinzhengjie.sm.domain.User;
10 import cn.org.yinzhengjie.sm.service.BaseService;
11 import org.springframework.stereotype.Service;
12 
13 import javax.annotation.Resource;
14 import java.util.List;
15 
16 /**
17  * 用户服务实现类
18  */
19 @Service("userService")
20 public class UserServiceImpl implements BaseService<User> {
21 
22     @Resource(name="userDao")
23     private BaseDao<User> userDao ;
24 
25     public void insert(User user) {
26         userDao.insert(user);
27     }
28 
29     public void update(User user) {
30         userDao.update(user);
31     }
32 
33     public void delete(Integer id) {
34         userDao.delete(id);
35     }
36 
37     public User selectOne(Integer id) {
38         return userDao.selectOne(id);
39     }
40 
41     public List<User> selectAll() {
42         return userDao.selectAll();
43     }
44 }
UserServiceImpl.java 文件内容
技术分享图片
 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 package cn.org.yinzhengjie.sm.domain;
 7 
 8 /**
 9  */
10 public class User {
11     private Integer id;
12     private String name;
13     private int age;
14 
15     public Integer getId() {
16         return id;
17     }
18 
19     public void setId(Integer id) {
20         this.id = id;
21     }
22 
23     public String getName() {
24         return name;
25     }
26 
27     public void setName(String name) {
28         this.name = name;
29     }
30 
31     public int getAge() {
32         return age;
33     }
34 
35     public void setAge(int age) {
36         this.age = age;
37     }
38 }
User.java 文件内容

3>.

 

4>.

 

5>.

 

6>.

 

7>.

Java基础-SSM之Spring和Mybatis整合案例

原文:https://www.cnblogs.com/yinzhengjie/p/9298084.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!