在实际的项目开发中,我们需要将MyBatis和Spring进行整合,通过Spring 的依赖注入以减少代码的耦合。本文以MyEclipse和MySQL数据库为开发环境简单的讲解一下MyBatis和Spring的整合过程。
首先我们创建一个Java Project,名称任意,然后导入所需要包:
spring3.1.1,
mybatis-3.1.1.jar,
mysql-connector-java-5.1.2-beta-bin.jar ,
mybatis-spring-1.1.1.jar
第一步:创建数据库表
在Navicat下执行如下sql命令创建表User.
CREATE TABLE user
(
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(20) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
然后插入测试数据
INSERT INTO user VALUES ('1', 'admin', 'admin');
第二步:创建model
创建一个model包并在其下创建一个User.java文件。
package model;
public class User {
private int id;
private String username;
private String password;
public User(){
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String toString(){
return "User [id = "+ id +" , username = "+ username +"]" + " , password = "+ password;
}
}
第三步:创建DAO接口(这里我们对增删改查进行简单的实现)
创建一个包dao,并在其下创建一个UserMapper.java文件作为DAO接口。
package dao;
import model.User;
public interface UserMapper {
public User selectUser(User user);
public void insertUser(User user);
public void updateUser(User user);
public void deleteUser(int userId);
}
第四步:实现DAO接口
在dao包下创建一个UserMapper.xml文件作为上一步创建的DAO接口的实现。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.UserMapper">
<select id="selectUser" parameterType="model.User" resultType="model.User">
SELECT * FROM user WHERE username=#{username} AND password=#{password}
</select>
<insert id="insertUser" parameterType="model.User" flushCache="true">
INSERT INTO user (id,username,password) VALUES (#{id},#{username},#{password})
</insert>
<update id="updateUser" parameterType="model.User">
UPDATE user SET password=#{password} WHERE id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
DELETE FROM user WHERE id=#{userId}
</delete>
</mapper>
这里对这个xml文件作几点说明:
1. namespace要指定为接口的类路径。
2. select,insert,update,delete的id必须要和UserMapper.java接口中的方法同名。
第五步:创建MyBatis的配置文件
在src下创建一个mybatis-config.xml文件,由于我们的数据源部分是要交给Spring管理,所以此处的配置文件只包含xml映射文件的位置信息。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<mapper resource="dao/UserMapper.xml"/>
</mappers>
</configuration>
第六步:在Spring中配置数据源
在src下创建一个ApplicationContext.xml文件作为Spring的配置文件,这里我们使用Spring自带的Jdbc数据源,读者可以根据实际需要替换为其他数据源。
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!—配置数据源-->
<bean id="jdbcDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="jdbcDataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="dao.UserMapper"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
</beans>
关于Spring配置的说明:
Spring没有内置的提供对MyBatis的支持,配置sqlSessionFactory和userMapper所需要的class是来自于mybatis-spring-1.1.1.jar。
第七步:测试
在src下创建一个test包,并在其下创建一个test.java文件
package test;
import model.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import dao.UserMapper;
public class test {
public static void main(String[] args) {
ApplicationContext ctx=null;
ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
UserMapper userMapper=(UserMapper)ctx.getBean("userMapper");
User u=new User();
u.setUsername("admin");
u.setPassword("admin");
System.out.println(userMapper.selectUser(u));
//插入(去掉下面的注释进行调试)
/*
User insertUser=new User();
insertUser.setUsername("testUsername");
insertUser.setPassword("testPassword");
userMapper.insertUser(insertUser);
*/
//更新(去掉下面的注释进行调试)
/*
u.setId(1);
u.setPassword("updatePassword");
userMapper.updateUser(u);
*/
//删除(去掉下面的注释进行调试)
/*
userMapper.deleteUser(9);
*/
}
}
分享到:
相关推荐
自己搭建的简易spring3Mvc+mybatis3简易整合框架,放入的jar比较多,直接复制了开发中的jar,没有删掉无关的,但是不影响。
springMVC-spring-mybatis整合Demo,简易的登录功能
SSM(spring+spring MVC+mybatis)开发学生信息后台管理系统,实现学生增删改查功能设计一个简单的学生信息管理系统,要求使用SSM框架技术整合实现,用户登录后能够通过Web页面添加、删除、修改和查询学生信息 ...
这是SpringBoot整合MyBatis实现的简易登陆注册。这里所使用的开发环境是:IDEA、MySQL_8.0.17、Java8;其中用到了Druid数据库连接池。这个登录注册demo中,登录失败有两种情况:①账户不存在;②密码错误。注册失败...
本科毕业设计+利用springboot+mybatis打造一个简易的客户管理系统,前后端分离 开发环境 操作系统:Windows 10 IDE工具:IDEA JDK:JDK1.8 数据库:MySQL 5.7 构建工具:Maven 框架:Springboot+Mybatis 相关技术...
自己写的简单的Spring、SpringMVC、MyBatis整合,里面的配置文件都全,方法的话,写了个保存账户信息和查询账户的方法,页面也有,不过比较简易,可能要改的地方,你的pom.xml里面的依赖坐标要改成你自己电脑上的。...
SpringColud1简易分布式 ● cloud-config-server:配置服务器-(通过git获取配置) ● cloud-eureka-server:eureka注册服务器 ● cloud-simple-service:一个使用mybatis的数据库应用,服务端 ● cloud-simple-...
该SMS是之前的升级版,整合了SpringMVC、Spring和MyBatis,对学习SSM框架的整合大有好处
学习的练习代码,代码以zip压缩包里面的为准
基于springboot2+mybatis+thymeleaf整合开发的在线心理咨询问卷管理系统 项目描述 spring boot2开发的在线心理咨询问卷管理系统 运行环境 jdk8+mysql5.7+IntelliJ IDEA+maven 项目技术 spring boot2+mybatis+...
前段时间学习了下SpringMVC和MyBatis,于是练了一下手,将两个框架整合,实现了一个简单的权限管理系统。其中通过拦截MyBatis对底层数据库的操作,实现了分页功能,可查看这篇文章:...
期末作业,简易进销存系统,带数据库SQL文件。包含用户管理,员工管理,进货厂商管理,商品管理,进货管理,出货管理。采用SSM框架+layui,Maven管理jar包
文章附件;【Java框架-Mybatis】(03)Spring整合Mybatis操作Mysql,快速上手 - 简易版;
Spring SpringMVC Mybatis MySQL 开发环境:Eclipse Tomcat8.5 SSM简易项目(增删改查),内容为食堂管理系统,不过自己可以随便更换。 简单的SSM整合项目。内含SQL建表语句。
该项目都是测试过了的,真实可靠,请放心使用...Spring Boot 提供了 spring-boot-starter-websocket 来快速实现消息推送,同时也可以整合流行的 RPC 框架,提供 RPC 服务接口(只要简单加入对应的 starter 组件即可)。
Spring+SpringMVC+Mybatis+MySQL 开发环境:Eclipse+Tomcat8.5 SSM简易项目(增删改查),内容为食堂管理系统,不过自己可以随便更换。 简单的SSM整合项目。内含SQL建表语句。
基于MVC模式开发,使用Spring整合MyBatis搭建四层软件体系(SSM框架);采用SpringIOC反转控制权,由系统自动管理Bean对象;使用SpringMVC作为前端控制器;使用MyBatis取代传统JDBC,作为持久化层对数据库进行(MySQL)...