Atitit spring5 集成 mybatis 注解班
Atitit spring5 集成 mybatis 注解班
目录
1.1. 0. 创建配置文件——application.properties 1
1.2. 创建一个数据层接口——这是一个Mapper类 1
1.3. MyBatisConfiguartion 类 配置扫描mappers 2
2. Spring调用 4
3. Spring config 5
码文件内容
Spring MVC之最简Mybatis配置(全注解) - 幻世 - CSDN博客.html
- 0. 创建配置文件——application.properties
写入一下内容:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
---------------------
- 创建一个数据层接口——这是一个Mapper类
package springMybatis;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
@Mapper
//iocSpring5demo.MybatisMapperCls
public interface MybatisMapperCls {
//@Autowired
//public SqlSessionTemplate sqlSessionTemplate1;
/*
* 这是基于注解的映射方式,实现对数据的增删改查,将sql语句直接写在注解的括号中
* 这是一个接口,其不需要类去实现它
* 下边分别是插入,删除,修改,查询一个记录,查询所有的记录
* */
@Select("${sql_intag}")
public List<Map> query(@Param("sql_intag") String sql);
}
- MyBatisConfiguartion 类 配置扫描mappers
package springMybatis;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
/**
* @author tony ittimeline@163.com
* @date 2018-02-24-上午11:13
* @website wwww.ittimeline.net
* @see
* @since JDK8u162
*/
@Configuration
//@//Import(DruidDataSourceConfiguraiton.class)
@MapperScan(basePackages ="springMybatis")
public class MyBatisConfiguartion {
@Bean
public DataSource dataSource() {
AtiDateSource instance = new AtiDateSource();
return instance;
// configure and return the necessary JDBC DataSource
}
// @Bean
// public DataSource dataSource() {
// BasicDataSource dataSource = new BasicDataSource();
//
// dataSource.setDriverClassName("com.mysql.jdbc.Driver");
// dataSource.setUrl("jdbc:mysql://localhost:3306/mb?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8");
// dataSource.setUsername(""); // 这里填写数据库用户名
// dataSource.setPassword(""); // 这里填写数据库密码
//
// return dataSource;
// }
//
@Bean
public DataSourceTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource());
// sessionFactory.setTypeAliasesPackage("me.firstsnow.model");
return sessionFactory;
}
/*
@Bean(name = "sqlSessionFactory")
public SqlSessionFactory sqlSessionFactoryBean(DataSource dataSource){
*/
/**
*
* @param sqlSessionFactory
* @return
*/
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory){
return new SqlSessionTemplate(sqlSessionFactory);
}
}
- Spring调用
package springMybatis;
import java.util.List;
import java.util.Map;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.alibaba.fastjson.JSON;
@MapperScan(basePackages= {"iocSpring5demo"})
public class SpringMybayisStartDemoAnno {
public static void main(String[] args) {
// 创建spring 基于注解配置的容器
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
// 获取通过注解注入容器的UserService
MybatisMapperCls MybatisMapperCls1 = context.getBean(MybatisMapperCls.class);
// 调用userService的方法执行
List<Map> message = MybatisMapperCls1.query("select * from user_tab");
// userService.addUser("user2");
// 输出结果
System.out.println( JSON.toJSONString(message));
// 关闭容器,释放JVM资源
context.close();
}
}
- Spring config
package springMybatis;
import javax.sql.DataSource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.core.io.ClassPathResource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.TransactionManagementConfigurer;
import org.springframework.transaction.support.TransactionTemplate;
@EnableTransactionManagement
@EnableAspectJAutoProxy
@Configuration /** 该注解表示这个类是一个Spring的配置类 **/
@ComponentScan(basePackages = {
"springMybatis" }) /***
* 该注解表示启用spring的组件扫描功能,并且配置了扫描包net.xqlee.project.
* demo下的所有类
**/
//@//MapperScan(basePackages= {"springMybatis"})
public class AppConfig implements TransactionManagementConfigurer {
@Bean
public DataSource dataSource() {
AtiDateSource instance = new AtiDateSource();
return instance;
// configure and return the necessary JDBC DataSource
}
@Bean
@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
// return txManager();
return new DataSourceTransactionManager(dataSource());
}
}
Atitit spring5 集成 mybatis 注解班相关推荐
- mybatis注解开发_Spring Boot 中集成 MyBatis
阅读本文约需要5分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了Spring Boot 中的AOP处理,今天给大家分享下 ...
- SpringBoot 集成Mybatis
1,必要的依赖: <parent><groupId>org.springframework.boot</groupId><artifactId>spri ...
- Spring集成Mybatis,spring4.x整合Mybatis3.x
Spring集成Mybatis,spring4.x整合Mybatis3.x ============================== 蕃薯耀 2018年3月14日 http://www.cnblo ...
- BindingException: Invalid bound statement (not found)问题排查:SpringBoot集成Mybatis重点分析...
重构代码,方法抛出异常:BindingException: Invalid bound statement (not found) 提示信息很明显:mybatis没有提供某方法 先不解释问题原因和排查 ...
- java整合mybatis,springboot集成mybatis
# springboot集成mybatis springboot基础mybatis还是很简单的,比之前springmvc集成mybatis要少很多配置,只要大家按照步骤一步一步来,几分钟就 能实现.具 ...
- springboot集成mybatis源码分析-启动加载mybatis过程(二)
springboot集成mybatis源码分析-启动加载mybatis过程(二) 1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplicati ...
- springboot集成mybatis源码分析(一)
springboot集成mybatis源码分析(一) 本篇文章只是简单接受使用,具体源码解析请看后续文章 1.新建springboot项目,并导入mybatis的pom配置 配置数据库驱动和mybat ...
- SpringBoot集成Mybatis用法笔记
今天给大家整理SpringBoot集成Mybatis用法笔记.希望对大家能有所帮助! 搭建一个SpringBoot基础项目. 具体可以参考SpringBoot:搭建第一个Web程序 引入相关依赖 &l ...
- Spring Boot 集成 Mybatis 实现双数据源
转载自 Spring Boot 集成 Mybatis 实现双数据源 这里用到了Spring Boot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源 ...
- Java 捕获 mybatis异常_3 springboot集成mybatis和全局异常捕获
mybatis有两种方式,一种是基于XML,一种是基于注解 springboot集成mybatis 首先先创建表,这里都简化了 DROP TABLE IF EXISTS `user`; CREATE ...
最新文章
- lampp mysql 等待响应时间很长,XAMPP 最大执行时间(max_execution_time) 问题
- 代码重构阅读心得[转]
- bcp文件, 逗号文件
- mysql 导致iis 假死_php使用MySql函数导致Apache(iis)崩溃的问题解决方案
- pythonfillcolor_openpyxl 填充颜色(单元格)
- ENVI入门系列教程---一、数据预处理---5. 图像自动配准
- 教你用Python实现全自动刷网课
- python爬取微博评论_详解用python写网络爬虫-爬取新浪微博评论
- 企业网站建设教程:自己怎么建网站,做网站的步骤有哪些
- Rhino学习教程——1.4
- cad断点快捷键_CAD打断(BREAK)命令的使用技巧
- Matlab:FIR滤波器设计和音频信号滤波去噪
- electron 通过nodejs的winre库实现软件开机自启动
- 微型计算机的体积虽小 但是性价比比较高,[问答题,简答题] 简述公共管理与企业管理的区别。...
- perror和strerror的使用和区别
- gawk 命令(转载:http://blog.sina.com.cn/s/blog_6238358c01012h1f.html)
- 如何再UOS/Ubuntu中创使用ufw设置防火墙
- 计算机研究生复试英语自我介绍,计算机研究生复试专业英语自我介绍.doc
- 模拟电子技术实验作业(9)
- 操作系统重要概念——并发性
热门文章
- msf php脚本提权,[原创]WEB安全第六章 提权篇16 metasploit linux提权
- python无法调用安装的包_无法在Windows 10上使用python2.7/MINGW安装pyslalib软件包
- java组件名词解释_简述Java EE三类组件的构成及运行环境。
- python map函数1分钟数据生成5分钟_用map函数来完成Python并行任务的简单示例
- [原] CentOS 7 安装 nginx, php mysql 套件
- iOS - JSON 数据解析
- Android 开源框架Universal-Image-Loader全然解析(二)--- 图片缓存策略具体解释
- 关于instr和like的比较
- Visual Studio 2008 Designer.cs不能更新/自动添加控件声明的解决办法
- BZOJ3728 PA2014Final Zarowki