MyBatis

Spring+MyBatis整合

一笑奈何 提交于 2020-03-01 09:59:05
一、准备工作   1.1准备jar包            建表语句: CREATE TABLE `t_customer` ( `id` int(32) NOT NULL AUTO_INCREMENT, `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `jobs` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `phone` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;   1.2编写配置文件:     1.2.1db.properties    #dataSource #Thu Mar 07 16:27:40 CST 2019 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/sm jdbc.username=root jdbc

spring整合mybatis

做~自己de王妃 提交于 2020-03-01 09:56:42
spring整合mybatis 1.spring整合mybatis,需要用到一些依赖包,比如 <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- mybatis/spring包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> 还有其他的一些,比如下面的,当然没有全部列出来。 <!-- 导入java ee jar 包 --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> </dependency> <!-- 导入Mysql数据库链接jar包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector

Spring整合Mybatis原理简单分析

荒凉一梦 提交于 2020-03-01 09:55:51
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 配置数据库表对应的java实体类 --> <property name="typeAliasesPackage" value="com.test.pojo" /> <!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 --> <property name="mapperLocations" value="classpath:com/test/mapping/*.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.test.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> 上面是一般项目中的配置,根据该配置分析 1,获取SqlSessionFactory

spring与mybatis三种整合方法

左心房为你撑大大i 提交于 2020-03-01 09:55:15
1.单独使用MyBatis 单独使用MyBatis,不结合其他框架,主要步骤是: 1.创建SqlSessionFactory对象 创建方法是通过SqlSessionFactoryBuilder这个类从mybatis的XML配置文件,或者porperties,或者URL获取相关数据库的配置信息。 2.从 sqlSessionFactory获取SqlSession。 3.使用 SqlSession提供的API,对数据库进行增删改查,以及事务管理。 1 2 3 4 5 6 7 String resource = "org/mybatis/example/mybatis-config.xml" ; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession(); session.insert( "BlogMapper.selectBlog" , 101 ); session.commit(); sesssion.close(); 2

mybatis自动映射和手动映射

◇◆丶佛笑我妖孽 提交于 2020-03-01 08:16:32
一对一查询 第一种方法: <!-- 查询所有订单信息 --> <select id="findOrdersList" resultType="cn.itcast.mybatis.po.OrdersCustom"> SELECT orders.*, user.username, user.address FROM orders, user WHERE orders.user_id = user.id </select> 第二种方法: <!-- 查询订单关联用户信息使用resultmap --> <resultMap type="cn.itheima.po.Orders" id="orderUserResultMap"> <id column="id" property="id"/> <result column="user_id" property="userId"/> <result column="number" property="number"/> <result column="createtime" property="createtime"/> <result column="note" property="note"/> <!-- 一对一关联映射 --> <!-- property:Orders对象的user属性 javaType:user属性对应 的类型 -->

Mybatis----缓存

£可爱£侵袭症+ 提交于 2020-03-01 05:58:02
Mybatis 缓存 像大多数的持久化框架一样, Mybatis 也提供了缓存策略,通过缓存策略来 减少数据库的查询次数, 从而提高性能。 Mybatis 中缓存分为 一级缓存,二级缓存 。 什么是缓存: 存在于内存中的临时数据。 什么样的数据能使用缓存,什么样的数据不能使用 适用于缓存: 经常查询并且不经常改变的。 数据的正确与否对最终结果影响不大的。 不适用于缓存: 经常改变的数据 数据的正确与否对最终结果影响很大的。 例如:商品的库存,银行的汇率,股市的牌价。 Mybatis 一级缓存 它指的是Mybatis中SqlSession对象的缓存。 当我们执行查询之后,查询的结果会同时 存入到SqlSession 为我们提供一块区域中。 该区域的结构是一个Map。当我们再次查询同样的数据,mybatis会先去sqlsession中 查询是否有,有的话直接拿出来用。 当SqlSession对象消失时,mybatis的一级缓存也就消失了。 一级缓存的分析 一级缓存是 SqlSession 范围的缓存,当调用 SqlSession 的修改,添加,删除, commit(), close()等方法时,就会清空一级缓存。 第一次发起查询用户 id 为 1 的用户信息,先去找缓存中是否有 id 为 1 的用户信息,如果没有,从数据库查询用户信息。 得到用户信息,将用户信息存储到一级缓存中。 如果

MyBatis返回 .0 问题的解决

冷暖自知 提交于 2020-03-01 05:48:50
MyBatis返回时间有小数点0,形如2018-10-10 10:00:00.0的解决方案--字段EXPIRED_DATE为例 数据库层面对应的时间字段都是定义为Date或者datetime这种时间类型 Oracle下 MySQL下 Java中间件中对应的expiredDate为String时,需要在数据库层面进行处理 MyBatis中对应的SQL语句需要做处理, Oracle下需要使用to_char(EXPIRED_DATE,'yyyy-MM-dd hh24:mi:ss')进行处理 MySQL下需要使用DATE_FORMAT(`user`.expired_time,'%Y-%m-%d %H:%i:%s')进行处理 Java中间件中对应的expiredDate为Date时,可以通过注解@JsonFormat在实体类字段上进行格式化 来源: oschina 链接: https://my.oschina.net/u/3866531/blog/2253158

SpringBoot与MyBatis整合

和自甴很熟 提交于 2020-03-01 04:30:51
(1)首先使用spring Initializr快速创建一个项目,勾选web,mysql,jdbc,mybatis模块。 (2)在application.properties中: server.port=8082 #配置数据源相关参数 spring.datasource.url=jdbc:mysql://localhost:3306/egobuy?characterEncoding=utf-8 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver #切换数据源类型为Druid spring.datasource.type=com.alibaba.druid.pool.DruidDataSource #Druid连接池的特有属性 spring.datasource.maxActive=20 //最大约束 spring.datasource.minIdle=8// spring.datasource.initialSize=5//初始化数量 (3)将com....config.DataSourceConfig复制到包下: package com.szhhome.springbootmybatis

SSM01_Mybatis基础入门

随声附和 提交于 2020-02-29 19:37:51
Mybatis学习 框架概述 什么是框架 应用方面 来说,框架(Framework)是 整个或部分系统的可重用设计 ,表现为一组抽象构件及构件实例间交互的方法 目的方面 来说,框架是 可被应用开发者定制的应用骨架 。 简而言之,框架其实就是 某种应用的半成品,就是一组组件 ,供你选用完成你自己的系统。简单说就是使用别 人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 框架要解决的问题 框架要解决的最重要的一个问题是 技术整合 的问题,在 J2EE 的 框架中,有着各种各样的技术,不同的 软件企业需要从 J2EE 中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技 术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此 应该将应用自身的设计和具体的实现技术解耦 。 这样,软件企业的 研发将集中在应用的设计上,而不是具体的技术实现 , 技术实现是应 用的底层支撑,它不应该直接对应用产生影响 。 软件开发的分层重要性 框架的重要性在于它 实现了部分功能 ,并且能够很好的 将底层应用平台和高层业务逻辑进行了缓和 。为了 实现软件工程中的“高内聚、低耦合” 。把问题划分开来各个解决,易于控制,易于延展,易于分配资源。我们常见的 MVC 软件设计思想就是很好的分层思想。 分层开发下的常见框架 MyBatis

mybatis-day1

房东的猫 提交于 2020-02-29 17:56:37
MyBatis 框架的引言 a) MyBatis 框架的基本概念 MyBtis 是一个持久层框架,完成是对数据库的访问,操作 ( CRUD )。 b) MyBatis 解决了什么问题 解决 JDBC 访问,操作数据库过程中存在的问题,他是对原有 JDBC 技术的封装 。 JDBC 访问和操作数据库存在问题: 大量的代码冗余 (JdbcTemplate) 手工的处理 ORM ( 麻烦 ) 没有对访问数据进行优化 ( Cache ) c) MyBatis 核心的编程思路 第一个 MyBatis 程序的开发( Hello World ) a) 环境的搭建 ( OpenSource) Ibatis 是 MyBatis 前身 apache 组织 Ibatis3.0 改名 MyBatis google code MyBatis 属于 Github 导入 jar 包 a) Mybatis 核心 jar b) 第三方依赖 lib 目录 c) Oracle 驱动 jar ojdbc14.jar 引入配置文件 a) log4j.properties 【可选】 放置位置 src 根下 日志的配置文件 把 MyBatis 框架运行过程的日志信息打印出来 目的:关注 MyBatis 运行过程。 b) mybatis-config.xml 放置位置 随便 建议放置在 src 根下 配置的是 MyBatis