从零开始···整合mybatis
来源:互联网 发布:数组地址 差值 编辑:程序博客网 时间:2024/06/01 10:20
接下来是整合mybatis到工程中。
首先是导入需要的jar包:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.10.RELEASE</version></dependency> <!-- mysql --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version></dependency><!-- 数据连接池,并提供其他功能 --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.2</version></dependency><!-- end --><!-- mybatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version></dependency><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version></dependency><!-- end -->
这里用到了阿里巴巴开发的druid作为数据连接池,它的基本配置可以参考
https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_DruidDataSource%E5%8F%82%E8%80%83%E9%85%8D%E7%BD%AE
其他内容可以百度搜索。
导入所需JAR包后就要开始建立配置文件,在springMVC中整合mybatis需要以下几个配置文件
application-dao.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mybatis="http://mybatis.org/schema/mybatis-spring" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 该包下的类支持注解,表示会被当作{@code mybatis mapper}处理 配置了之后表示可以自动引入mapper类--> <mybatis:scan base-package="com.rf"/> <!--引入属性文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!--数据库连接--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize"><value>1</value></property> <property name="maxActive"><value>5</value></property> <property name="minIdle"><value>1</value></property> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait"><value>60000</value></property> <!-- 配置监控统计拦截的filters --> <property name="filters"><value>stat</value></property> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis"><value>60000</value></property> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis"><value>300000</value></property> </bean> <!-- mybatis配置 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean> </beans>
然后是.properties属性文件,如果嫌麻烦可以不要这个,一些参数直接写在上述配置文件中,比如url,username等。
下面是配置文件的目录:
接下来就是建立相关类实验一下:
这里我使用注解的方式实现动态注入,各类的注解详情如下:
controller:
@Controller@RequestMapping("/fc")public class FirstController { @Autowired private FirstService fService; @RequestMapping("/start.do") @ResponseBody public Object start(HttpServletRequest request) { Object result = new Object(); result = "hello world!"; Integer n = fService.countNum(); result = result + "--" + n; return result; }}
service:
@Servicepublic class FirstService { @Autowired private FirstDao fDao; public Integer countNum() { return fDao.countNum(); }}
dao:
@Repositorypublic class FirstDao { @Resource private FirstMapper fMapper; public Integer countNum() { return fMapper.countNum(); }}
最后测试一下,成功从库中查询到数据了。
阅读全文
0 0
- 从零开始···整合mybatis
- 从零开始···spring整合redis配置
- 从零开始···mybatis配置扫描补充
- JavaWeb项目从零开始(2)--- spring、spring mvc、mybatis整合
- mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)
- Mybatis -- Mybatis整合Spring
- 【Mybatis】Mybatis整合spring
- 从零开始···require.js
- 从零开始···AMQ测试
- 从零开始山寨Caffe·零:必先利其器
- 从零开始山寨Caffe·贰:主存模型
- 从零开始山寨Caffe·肆:线程系统
- 从零开始山寨Caffe·柒:KV数据库
- 从零开始山寨Caffe·玖:BlobFlow
- 从零开始山寨Caffe·贰:主存模型
- 从零开始山寨Caffe·贰:主存模型
- mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上)(附demo和搭建过程遇到的问题解决方法)
- 【框架整合】三、整合mybatis
- Vjudge
- openpyxl autoSUM
- 烟火人生
- TensorFlow实现经典深度学习网络(3):TensorFlow实现Google Inception Net
- SEM最核心的部分专题页:如何扒专题页面?(古志强网络营销师)
- 从零开始···整合mybatis
- 洛谷 P1279 字串距离
- Jenkins搭建(Linux环境)
- resin详情配置
- 链表
- 第七周项目三 负数把正数赶出队列
- yum安装mysql出现错误及解决方案
- [Erlang09]Erlang gen_server实现定时器(interval)的几种方法及各自的优缺点?
- json 解析js对象