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

  1. 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

---------------------

  1. 创建一个数据层接口——这是一个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);

}

  1. 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);

}

}

  1. 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();

}

}

  1. 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 注解班相关推荐

  1. mybatis注解开发_Spring Boot 中集成 MyBatis

    阅读本文约需要5分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了Spring Boot 中的AOP处理,今天给大家分享下 ...

  2. SpringBoot 集成Mybatis

    1,必要的依赖: <parent><groupId>org.springframework.boot</groupId><artifactId>spri ...

  3. Spring集成Mybatis,spring4.x整合Mybatis3.x

    Spring集成Mybatis,spring4.x整合Mybatis3.x ============================== 蕃薯耀 2018年3月14日 http://www.cnblo ...

  4. BindingException: Invalid bound statement (not found)问题排查:SpringBoot集成Mybatis重点分析...

    重构代码,方法抛出异常:BindingException: Invalid bound statement (not found) 提示信息很明显:mybatis没有提供某方法 先不解释问题原因和排查 ...

  5. java整合mybatis,springboot集成mybatis

    # springboot集成mybatis springboot基础mybatis还是很简单的,比之前springmvc集成mybatis要少很多配置,只要大家按照步骤一步一步来,几分钟就 能实现.具 ...

  6. springboot集成mybatis源码分析-启动加载mybatis过程(二)

    springboot集成mybatis源码分析-启动加载mybatis过程(二) 1.springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplicati ...

  7. springboot集成mybatis源码分析(一)

    springboot集成mybatis源码分析(一) 本篇文章只是简单接受使用,具体源码解析请看后续文章 1.新建springboot项目,并导入mybatis的pom配置 配置数据库驱动和mybat ...

  8. SpringBoot集成Mybatis用法笔记

    今天给大家整理SpringBoot集成Mybatis用法笔记.希望对大家能有所帮助! 搭建一个SpringBoot基础项目. 具体可以参考SpringBoot:搭建第一个Web程序 引入相关依赖 &l ...

  9. Spring Boot 集成 Mybatis 实现双数据源

    转载自   Spring Boot 集成 Mybatis 实现双数据源 这里用到了Spring Boot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源 ...

  10. Java 捕获 mybatis异常_3 springboot集成mybatis和全局异常捕获

    mybatis有两种方式,一种是基于XML,一种是基于注解 springboot集成mybatis 首先先创建表,这里都简化了 DROP TABLE IF EXISTS `user`; CREATE ...

最新文章

  1. lampp mysql 等待响应时间很长,XAMPP 最大执行时间(max_execution_time) 问题
  2. 代码重构阅读心得[转]
  3. bcp文件, 逗号文件
  4. mysql 导致iis 假死_php使用MySql函数导致Apache(iis)崩溃的问题解决方案
  5. pythonfillcolor_openpyxl 填充颜色(单元格)
  6. ENVI入门系列教程---一、数据预处理---5. 图像自动配准
  7. 教你用Python实现全自动刷网课
  8. python爬取微博评论_详解用python写网络爬虫-爬取新浪微博评论
  9. 企业网站建设教程:自己怎么建网站,做网站的步骤有哪些
  10. Rhino学习教程——1.4
  11. cad断点快捷键_CAD打断(BREAK)命令的使用技巧
  12. Matlab:FIR滤波器设计和音频信号滤波去噪
  13. electron 通过nodejs的winre库实现软件开机自启动
  14. 微型计算机的体积虽小 但是性价比比较高,[问答题,简答题] 简述公共管理与企业管理的区别。...
  15. perror和strerror的使用和区别
  16. gawk 命令(转载:http://blog.sina.com.cn/s/blog_6238358c01012h1f.html)
  17. 如何再UOS/Ubuntu中创使用ufw设置防火墙
  18. 计算机研究生复试英语自我介绍,计算机研究生复试专业英语自我介绍.doc
  19. 模拟电子技术实验作业(9)
  20. 操作系统重要概念——并发性

热门文章

  1. msf php脚本提权,[原创]WEB安全第六章 提权篇16 metasploit linux提权
  2. python无法调用安装的包_无法在Windows 10上使用python2.7/MINGW安装pyslalib软件包
  3. java组件名词解释_简述Java EE三类组件的构成及运行环境。
  4. python map函数1分钟数据生成5分钟_用map函数来完成Python并行任务的简单示例
  5. [原] CentOS 7 安装 nginx, php mysql 套件
  6. iOS - JSON 数据解析
  7. Android 开源框架Universal-Image-Loader全然解析(二)--- 图片缓存策略具体解释
  8. 关于instr和like的比较
  9. Visual Studio 2008 Designer.cs不能更新/自动添加控件声明的解决办法
  10. BZOJ3728 PA2014Final Zarowki