博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring集成MyBatis01 【推荐使用】、springMVC中文乱码和json转换问题
阅读量:4518 次
发布时间:2019-06-08

本文共 6225 字,大约阅读时间需要 20 分钟。

 

1 导包

  

  1.1 spring-webmvc : spring框架包(当然里面也包含springmvc)

  1.2 mybatis : mybatis框架包

  1.3 mybatis-spring : spring框架集成mybatis框架需要用到的包

  1.4 spring-jdbc : springjdbc包

  1.5 mysql:MySQL数据库驱动包

  1.6 junit : 单元测试包

  1.7 dbcp : 数据库连接池

1 
2
4.0.0
3
cn.xiangxu.spring
4
mybatis03
5
0.0.1-SNAPSHOT
6
7
8
org.springframework
9
spring-webmvc
10
3.2.8.RELEASE
11
12
13
org.mybatis
14
mybatis
15
3.2.8
16
17
18
org.mybatis
19
mybatis-spring
20
1.2.3
21
22
23
org.springframework
24
spring-jdbc
25
3.2.8.RELEASE
26
27
28
mysql
29
mysql-connector-java
30
5.1.23
31
32
33
junit
34
junit
35
4.12
36
37
38
commons-dbcp
39
commons-dbcp
40
1.4
41
42
43
jar包的XML文件

 

2 配置文件

  只需要添加spring的配置文件,不需要添加mybatis的配置文件;直接mybatis有关的配置spring配置文件中完成

  2.1 配置能读取含有数据库连接信息的properties文件

  2.2 配置数据库连接池

  2.3 配置SqlSessionFactoryBean

    SqlSessionFactoryBean中包含了数据库连接池映射文件的信息

    配置SqlSessionFactoryBean的作用

      通过SqlSessionFactoryBean来配置数据库连接池和映射文件位置

      可以通过SqlSessionFactoryBean来创建SqlSession对象

  2.4 配置MapperScannerConfigurer

     该bean负责调用SqlSession的getMapper方法,然后将得到的对象放到spring容器里面(默认的id是首字母小写后的接口名,也可以使用@Repository进行重命名) -->> 即:将mapper映射器变成一个对象放到spring容器中使用

 

1 
2
18 19
20
22 23
24
25
26
27
28
29
30 31
32
33
34
35
36
37
38 39
40
41
42
43
44
45
46 47 48 49 50
mybatis-spring配置文件

 

3 编写实体类

  实体类的属性名最好表的字段名保持一致

1 package cn.xiangxu.telecom.login.entity; 2  3 import java.io.Serializable; 4  5 public class Admin implements Serializable { 6     private Integer id; 7     private String name; 8     private String password; 9     private String gender;10     11     public Integer getId() {12         return id;13     }14     public void setId(Integer id) {15         this.id = id;16     }17     public String getName() {18         return name;19     }20     public void setName(String name) {21         this.name = name;22     }23     public String getPassword() {24         return password;25     }26     public void setPassword(String password) {27         this.password = password;28     }29     public String getGender() {30         return gender;31     }32     public void setGender(String gender) {33         this.gender = gender;34     }35     36     public String toString() {37         return "Admin [id=" + id + ", name=" + name + ", password=" + password + ", gender=" + gender + "]";38     }39     40 }
实体类Admin.java

 

4 编写映射文件

  映射文件和相应的实体类一般放在同一个包里面

  要求

    映射文件的 namespace属性值必须是相应Mapper映射器的接口名(包括包名)

    例如:namespace="cn.xiangxu.telecom.login.dao.AdminDao"

1 
2 4 5
6
7
8 INSERT INTO admin 9 (name, password, gender)10 VALUES(#{name}, #{password}, #{gender})11
12 13
16 17
21 22
23 UPDATE admin 24 SET password=#{password}, gender=#{gender}25 WHERE name=#{name}26
27 28
29 DELETE FROM admin30 WHERE name=#{deleteName}31
32 33
37 38
39
43 44
45
49 50
51
52
53
54
55
59 60 61 62 63 64
映射文件的配置

 

5 编写Mapper映射器

  要求

    方法名必须和映射文件中的sqlId属性值保持一致

    方法的参数类型要与映射文件的parameterType保持一致

    方法的返回类型要与映射文件的resultType文件保持一致

1 package cn.xiangxu.telecom.login.dao; 2  3 import java.util.List; 4 import java.util.Map; 5  6 import cn.xiangxu.telecom.login.entity.Admin; 7 import cn.xiangxu.telecom.login.entity.Admin2; 8  9 public interface AdminDao {10     public void insert(Admin admin); // 插入方法11     public List
findAll(); // 查询所有方法12 public Admin findByName(String name); // 限定查询方法13 public void modify(Admin admin); // 修改方法14 public void deleteByName(String name); // 删除方法15 16 public Map
findByName2(String name); // 查询结果返回Map 的方法17 public Admin2 findByName3(String name); // 实体类的属性名和表的字段名不一致的情况18 public Admin2 findByName4(String name);19 public Admin2 findByName5(String name);20 }
Mapper映射文件

 

6 spingMVC中文乱码

  

7 SpringMVC响应数据JSON转化问题

  

 

获取本博客源代码:

 

转载于:https://www.cnblogs.com/NeverCtrl-C/p/6875878.html

你可能感兴趣的文章
我是怎么定义微服务平台?
查看>>
C语言中多维数组的内存分配和释放(malloc与free)(转)
查看>>
python random
查看>>
互联网技术
查看>>
input输入框只允许输入数字/ 数字+小数点/ 文字+字母/ 等解决方法
查看>>
【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,前篇(2)...
查看>>
函数名、闭包及迭代器
查看>>
mysql 5.6 参数详解
查看>>
求旋转数组的最小元素
查看>>
jQuery ajax error函数(交互错误信息的获取)
查看>>
Gson解析Json数组
查看>>
Lintcode: Fast Power
查看>>
Pocket Gem OA: Log Parser
查看>>
枚举也能直接转换为对应的数值输出
查看>>
angularjs1-7,供应商
查看>>
BitSet
查看>>
Spring常用注解,自动扫描装配Bean
查看>>
(转载)深入理解WeakHashmap
查看>>
JAVA中的数组
查看>>
爬虫—使用Requests
查看>>