Mybatis不使用Spring框架(Druid)
1、Mysql database
CREATE TABLE mockrecord
(id INT(10) unsigned PRIMARY KEY NOT NULL COMMENT 'mock记录编号' AUTO_INCREMENT,
requestparams TEXT COMMENT '请求参数列表',
responsejspn TEXT COMMENT '返回Mock响应Json'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2、maven project

3、pom文件
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.20</version>
</dependency>
4、mybatis-config.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>
<properties resource="mydbconfig.properties" />
<typeAliases>
<typeAlias type="com.test.mybatis.druid.DruidDataSourceFactory" alias="DRUID" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!--//POOLED指的是org.apache.ibatis.datasource.pooled.PooledDataSource, 一个数据源的实现类-->
<!--<dataSource type="POOLED">-->
<dataSource type="DRUID">
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="MockRecordMapper.xml" />
</mappers>
</configuration>
5、mydbconfig.properties
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://192.168.8.101:3306/mybatis
db.username=root
db.password=root
6、Bean
package com.test.mybatis.bean;
public class MockRecord {
public Integer id;
public String requestparams;
public String responsejson;
public MockRecord() {
}
public MockRecord(Integer id, String requestparams, String responsejson) {
this.id = id;
this.requestparams = requestparams;
this.responsejson = responsejson;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getRequestparams() {
return requestparams;
}
public void setRequestparams(String requestparams) {
this.requestparams = requestparams;
}
public String getResponsejson() {
return responsejson;
}
public void setResponsejson(String responsejson) {
this.responsejson = responsejson;
}
@Override
public String toString() {
return "MockRecord{" +
"id=" + id +
", requestparams='" + requestparams + '\'' +
", responsejson='" + responsejson + '\'' +
'}';
}
}
7、DruidDataSourceFactory
package com.test.mybatis.druid;
import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.datasource.DataSourceFactory;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.Properties;
public class DruidDataSourceFactory implements DataSourceFactory {
private Properties props;
@Override
public DataSource getDataSource() {
DruidDataSource dds = new DruidDataSource();
dds.setDriverClassName(this.props.getProperty("driver"));
dds.setUrl(this.props.getProperty("url"));
dds.setUsername(this.props.getProperty("username"));
dds.setPassword(this.props.getProperty("password"));
// 其他配置可以根据MyBatis主配置文件进行配置
try {
dds.init();
} catch (SQLException e) {
e.printStackTrace();
}
return dds;
}
@Override
public void setProperties(Properties props) {
this.props = props;
}
}
8、MockRecordMapper.class,MockRecordMapper.xml
package com.test.mybatis.mapper;
import com.test.mybatis.bean.MockRecord;
public interface MockRecordMapper {
public MockRecord selectMockRecord(String requestparams);
}
<?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="com.test.mybatis.mapper.MockRecordMapper">
<select id="selectMockRecord" resultType="com.test.mybatis.bean.MockRecord">
select id,requestparams,responsejson from mockrecord where requestparams = #{requestparams}
</select>
</mapper>
9、AppTest集成测试
package com.test.mybatis;
import static org.junit.Assert.assertTrue;
import com.test.mybatis.bean.MockRecord;
import com.test.mybatis.mapper.MockRecordMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
/**
* Unit test for simple App.
*/
public class AppTest
{
public SqlSessionFactory getSqlSessionFactory() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
return new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void test1() throws IOException
{
// 1、获取sqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
// 2、获取sqlSession对象
SqlSession openSession = sqlSessionFactory.openSession();
try {
// 3、获取接口的实现类对象
//会为接口自动的创建一个代理对象,代理对象去执行增删改查方法
MockRecordMapper mapper = openSession.getMapper(MockRecordMapper.class);
MockRecord mockRecord = mapper.selectMockRecord("a");
System.out.println(mapper.getClass());
System.out.println(mockRecord);
} finally {
openSession.close();
}
}
}
Mybatis不使用Spring框架(Druid)的更多相关文章
- 【MyBatis-Spring】Mybatis和并入Spring框架
1.参考书籍:<深入浅出MyBatis技术原理与实战> 2.知识基础:Spring.Mybatis.Spring MVC. 配置数据源 配置SqlSessionFactory SqlSes ...
- Spring + SpringMVC + Druid + MyBatis 给你一个灵活的后端解决方案
生命不息,折腾不止. 折腾能遇到很多坑,填坑我理解为成长. 两个月前自己倒腾了一套用开源框架构建的 JavaWeb 后端解决方案. Spring + SpringMVC + Druid + JPA(H ...
- 《经久不衰的Spring框架:Spring+SpringMVC+MyBatis 整合》
前言 主角即Spring.SpringMVC.MyBatis,即所谓的SSM框架,大家应该也都有所了解,概念性的东西就不写了,有万能的百度.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目 ...
- spring+websocket综合(springMVC+spring+MyBatis这是SSM框架和websocket集成技术)
java-websocket该建筑是easy.儿童无用的框架可以在这里下载主线和个人教学好java-websocket计划: Apach Tomcat 8.0.3+MyEclipse+maven+JD ...
- mybatis中两种取值方式?谈谈Spring框架理解?
1.mybatis中两种取值方式? 回答:Mybatis中取值方式有几种?各自区别是什么? Mybatis取值方式就是说在Mapper文件中获取service传过来的值的方法,总共有两种方式,通过 $ ...
- MyBatis在非Spring环境下第三方DataSource设置-Druid篇
首先在ITEye上面看到一个同标题文章,在此说明,此文并非转载自 http://iintothewind.iteye.com/blog/2069522 ,因为这篇文章根本就是错误的,照着上面做,工程可 ...
- 整合Spring框架和MyBatis框架
------------------------siwuxie095 整合 Spring 框架和 MyBatis 框架 ...
- 【Java】MyBatis与Spring框架整合(一)
本文将利用 Spring 对 MyBatis 进行整合,在对组件实现解耦的同时,还能使 MyBatis 框架的使用变得更加方便和简单. 整合思路 作为 Bean 容器,Spring 框架提供了 IoC ...
- spring 框架整合mybatis的源码分析
问题:spring 在整合mybatis的时候,我们是看不见sqlSessionFactory,和sqlsession(sqlsessionTemplate 就是sqlsession的具体实现)的,这 ...
随机推荐
- Html-自适应
自适应 使网页能适应不同终端设备的技术.原理是通过检测视口分辨率来判断是什么终端的,PC,手机还是平板. 做自适应的网页时,需要在代码中加入“祖传代码”,即通用代码. 这是在头部head引入的: &l ...
- TCP中异常关闭的情况记录
1.当TCP连接的对端进程已经关闭了Socket的情况下,本端进程再发送数据时,第一包可以发送成功(但会导致对端发送一个RST包过来):之后如果再继续发送数据会失败,错误码为“10053: An es ...
- ORA-01145: offline immediate disallowed unless media recovery enabled问题解决
ORA-01145: offline immediate disallowed unless media recovery enabled (随记,后续整理) 数据库只有在归档模式下才能够直接对数据文 ...
- centos 7 安装 LNMPC cacti 1.2.7 监控
先上图,后续更新
- 下拉菜单 Spinner 简单纯字符串版
下拉菜单 Spinner 简单纯字符串版 public class MainActivity extends Activity implements AdapterView.OnItemSelecte ...
- Hive(七)Hive参数操作和运行方式
Hive参数操作和运行方式 1.Hive参数操作 1.hive参数介绍 hive当中的参数.变量都是以命名空间开头的,详情如下表所示: 命名空间 读写权限 含义 hiveconf 可读写 hive ...
- python学习笔记(三)条件判断和循环
1.条件判断语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: 1 2 3 4 5 6 7 8 9 age_of_cc = 27 age = int( ...
- Ubuntu各个版本下载
官网:https://www.ubuntu.com/download/desktop 没找到历史版本,且下载速度很慢 在网易镜像站下载ubuntu: 网址:http://mirrors.163.com ...
- Vue数据通信详解
如果有需要源代码,请猛戳源代码 希望文章给大家些许帮助和启发,麻烦大家在GitHub上面点个赞!!!十分感谢 一.前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着 ...
- SSH框架整合报错org.springframework.web.context.ContextLoaderListener
是因为在导入的jar包中缺少了一个 org.springframework.web_3.1.4.release.jar 在网上下载即可 下载地址: http://www.java2s.com/Code ...