博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring与MyBatis的整合
阅读量:6080 次
发布时间:2019-06-20

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

首先看一下项目结构图:

这里写图片描述

具体步骤如下:

1、建立JDBC属性文件

jdbc.properties (文件编码修改为 utf-8 )

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/projectviewusername=rootpassword=729821

辅助:数据库脚本:

INSERT INTO `test_user` VALUES (1, 'liuzhonghao', '6329869', '384037404@qq.com');INSERT INTO `test_user` VALUES (2, 'xiahe', '6329869', '12345@qq.com');INSERT INTO `test_user` VALUES (3, NULL, NULL, NULL);INSERT INTO `test_user` VALUES (4, '123', '123', '123');INSERT INTO `test_user` VALUES (5, '321', '321', '321');

2、log4j的配置

#\u5B9A\u4E49LOG\u8F93\u51FA\u7EA7\u522Blog4j.rootLogger=INFO,Console,File#\u5B9A\u4E49\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u5730\u4E3A\u63A7\u5236\u53F0log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.out#\u53EF\u4EE5\u7075\u6D3B\u5730\u6307\u5B9A\u65E5\u5FD7\u8F93\u51FA\u683C\u5F0F\uFF0C\u4E0B\u9762\u4E00\u884C\u662F\u6307\u5B9A\u5177\u4F53\u7684\u683C\u5F0Flog4j.appender.Console.layout = org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=[%c] - %m%n#\u6587\u4EF6\u5927\u5C0F\u5230\u8FBE\u6307\u5B9A\u5C3A\u5BF8\u7684\u65F6\u5019\u4EA7\u751F\u4E00\u4E2A\u65B0\u7684\u6587\u4EF6log4j.appender.File =org.apache.log4j.RollingFileAppender#\u6307\u5B9A\u8F93\u51FA\u76EE\u5F55log4j.appender.File.File = logs/ssm.log#\u5B9A\u4E49\u6587\u4EF6\u6700\u5927\u5927\u5C0Flog4j.appender.File.MaxFileSize = 10MB# \u8F93\u51FA\u6240\u4EE5\u65E5\u5FD7\uFF0C\u5982\u679C\u6362\u6210DEBUG\u8868\u793A\u8F93\u51FADEBUG\u4EE5\u4E0A\u7EA7\u522B\u65E5\u5FD7log4j.appender.File.Threshold = ALLlog4j.appender.File.layout =org.apache.log4j.PatternLayoutlog4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-ddHH\:mm\:ss}][%c]%m%n

3、建立工程

(1)User类

package com.hqj.model;public class User {
private Integer id; private String username; private String password; private String email; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username == null ? null : username.trim(); } public String getPassword() { return password; } public void setPassword(String password) { this.password = password == null ? null : password.trim(); } public String getEmail() { return email; } public void setEmail(String email) { this.email = email == null ? null : email.trim(); } public User() { super(); // TODO Auto-generated constructor stub } public User(Integer id, String username, String password, String email) { super(); this.id = id; this.username = username; this.password = password; this.email = email; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", password=" + password + ", email=" + email + "]"; }}

(2)UserMapper类(Mybatis中的DAO类)

package com.hqj.dao;import com.hqj.model.User;public interface UserMapper {
int deleteByPrimaryKey(Integer id); int insert(User record); int insertSelective(User record); User selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(User record); int updateByPrimaryKey(User record);}

(3)UserMapper类(Mybatis映射文件)

id, username, password, email
delete from test_user where id = #{id,jdbcType=INTEGER}
insert into test_user (id, username, password, email) values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR})
insert into test_user
id,
username,
password,
email,
#{id,jdbcType=INTEGER},
#{username,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR},
#{email,jdbcType=VARCHAR},
update test_user
username = #{username,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
email = #{email,jdbcType=VARCHAR},
where id = #{id,jdbcType=INTEGER}
update test_user set username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, email = #{email,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER}

(4)UserService类(Spring中对应的类接口)

package com.hqj.service;import com.hqj.model.User;public interface UserService {
public User getUserById(Integer id);}

(5)UserServiceImpl类(Spring中对应的类接口的实现)

务必先看图片中的红字!易错点!!!

务必先看图片中的红字!易错点!!!
务必先看图片中的红字!易错点!!!

这里写图片描述

package com.hqj.serviceimpl;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.hqj.dao.UserMapper;import com.hqj.model.User;import com.hqj.service.UserService;@Service("userService")public class UserServiceImpl implements UserService {
@Autowired private UserMapper userMapper; public User getUserById(Integer id) { // TODO Auto-generated method stub return userMapper.selectByPrimaryKey(id); } public UserMapper getUserMapper() { return userMapper; } public void setUserMapper(UserMapper userMapper) { this.userMapper = userMapper; }}

(6)测试类

务必先看图片中的红字!易错点!!!

务必先看图片中的红字!易错点!!!
务必先看图片中的红字!易错点!!!

这里写图片描述

package com.hqj.test;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.hqj.model.User;import com.hqj.service.UserService;public class test1 {    @Test    public void testsearch() {        ApplicationContext ctx = null;        ctx = new ClassPathXmlApplicationContext("spring-mybatis.xml");        UserService userService = (UserService) ctx.getBean("userService");        User user = userService.getUserById(1);        System.out.println(user);    }}

(7)spring-mybatis.xml配置文件(最重要的配置)

务必先看图片中的红字!易错点!!!

务必先看图片中的红字!易错点!!!
务必先看图片中的红字!易错点!!!

这里写图片描述

测试成功的结果如下:

这里写图片描述

你可能感兴趣的文章
以太坊系列之六: p2p模块--以太坊源码学习
查看>>
Confluence 6 用户目录图例 - Confluence 内部目录
查看>>
iOS算法小记
查看>>
5行代码秀碾压,比Keras还好用的fastai来了,尝鲜PyTorch 1.0必备伴侣
查看>>
(4)Python列表list
查看>>
Gradient Descend 梯度下降法公式推导
查看>>
Go 装饰器模式在 API 服务程序中的使用
查看>>
基于 React 中文社区, 对开源社区最近的思考(2015.04)
查看>>
MySQL安全管理
查看>>
ios, 安卓 文本框选中不能输入的问题.
查看>>
网站优化的14条准则
查看>>
IOSTips:UIButton 设置图片文字垂直排列
查看>>
python 学习笔记 1 for循环中常用的函数
查看>>
7-Java面向对象-多态
查看>>
Zookeeper可以干什么?
查看>>
短视频APP平台怎么开发?不得不了解的短视频源码功能机制后篇
查看>>
常用RGB色值表
查看>>
Google Play 发现恶意应用,窃取用户数字货币
查看>>
极简风Js时钟
查看>>
用js来实现那些数据结构14(树02-AVL树)
查看>>