博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot&Mybatis整合入门详解
阅读量:7024 次
发布时间:2019-06-28

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

hot3.png

环境描述:

   1,开发环境jdk8、Tomcat、mysql、idea16.3

    2,spring-boot版本1.5.1

 

idea建立一个maven工程(只熟悉maven),很简单。填写groupid和ArtifactId即可(图一),点击下一步之后Finished。

图一:

174652_tCOF_1020513.png

 

依赖配置:

    只能说java的东西好多,版本也好多。有限的经验是如果是大牛想体验新功能用beta就行,那不是很熟悉还是用Release,如果Release最近有很多,根据热度选中上线时间半年的吧,可以在碰到问题的时候别人也许会帮你踩过坑。

贴出来pom.xml配置:

4.0.0
com.springmvc.demo
SpringMVC
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
1.5.1.RELEASE
UTF-8
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter-thymeleaf
net.sourceforge.nekohtml
nekohtml
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.1.1
org.mybatis
mybatis-spring
1.3.1
org.mybatis
mybatis
3.4.2
org.apache.ibatis
ibatis-core
3.0
tk.mybatis
mapper-spring-boot-starter
1.1.0
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-actuator
org.apache.tomcat
tomcat-jdbc
mysql
mysql-connector-java
com.alibaba
fastjson
1.2.23
org.springframework.boot
spring-boot-maven-plugin
true

如果不是很了解包所在或者描述,可以多看https://mvnrepository.com。

代码目录结构如下:

182413_OSBz_1020513.png

 

入口文件:

  1.     Application.java文件,在做测试的时候,DataSource因为用IEDA的自动import功能,造成误导入javax.activation.DataSource了这个包,调试了半天。
package com.springmvc;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;//import javax.activation.DataSource;import javax.sql.DataSource;import java.io.IOException;import java.util.logging.Logger;/** * Created by MT on 2017/3/2. */@EnableAutoConfiguration@SpringBootApplication@ComponentScan@MapperScan("com.springmvc.mapper")public class Application {    private static Logger logger = Logger.getLogger(String.valueOf(Application.class));    @Bean    @ConfigurationProperties(prefix = "spring.datasource")    public DataSource dataSource() {        return (DataSource) new org.apache.tomcat.jdbc.pool.DataSource();    }    @Bean    public SqlSessionFactory sqlSessionFactoryBean() throws Exception {        SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();        ssfb.setDataSource((javax.sql.DataSource) dataSource());        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();        ssfb.setMapperLocations(resolver.getResources("classpath:/xml/*.xml"));        System.out.println(ssfb.getObject());        return ssfb.getObject();    }    /**     * main entrance     * @param args     */    public static void main(String[] args) {        SpringApplication.run(Application.class, args);        logger.info("-------my spring start-------");    }}

其中需要留意的是spring.datasource,配置在properties文件里面。还有就是SqlSessionFactory获取resource的路径,注意路径即可。

application.properties配置文件

spring.thymeleaf.mode=LEGACYHTML5#datasourcespring.datasource.url=jdbc:mysql://127.0.0.1:3306/testspring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driver

 

其余代码就贴到github上面。https://github.com/iruimeng/springmvc

常见错误

  1.   在代码编译完成,执行简单静态页ok。在访问数据库的时候报错java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer,看有人说是版本问题,修改mybatis-spring为最新版本。问题解决。
  2. 关于MyBatis-Spring、MyBatis、Spring三者版本依赖,还是得多看看官方文档。详见链接 http://www.mybatis.org/spring/zh/

转载于:https://my.oschina.net/xiaopei/blog/850675

你可能感兴趣的文章
php学习日记
查看>>
Qt新建项目
查看>>
虚拟机的克隆并更改主机名
查看>>
分享一波Android面试题
查看>>
python入门系列:文件操作
查看>>
适合练习的10个Python项目,每个项目都不到500行代码
查看>>
iOS宏定义的使用与规范
查看>>
Cisco ASA 应用NAT
查看>>
微信环境中不支持APP(APK)文件下载的解决方案---使用augpush实现跳转
查看>>
Python进阶之路 3.4.4 比较运算符
查看>>
数据库系统学习二
查看>>
extmail一个正常收发邮件log(内网测试)
查看>>
深入探索spring技术内幕(五): 剖析spring AOP工作原理
查看>>
利用内容提供者来操作联系人数据库
查看>>
UNIX网络编程书中源代码测试环境搭建 (centos中取时间问题)
查看>>
解决IP地址冲突的问题
查看>>
浅谈 iOS 版本号
查看>>
.net core入门之守护进程
查看>>
文件测试
查看>>
思科路由器限速设置全解
查看>>