本月博客排行
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- lemonhandsome
- jh108020
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- zhanjia
- lzyfn123
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- johnsmith9th
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
- jveqi
- java-007
- sunj
最新文章列表
批量操作list对象
<insert id="insertForeach" parameterType="java.util.List">
insert into mb_member_devinfo (id, member_id, name,
phone, org_id, org_name,
stage, ...
mysql+mybatis一个sql里执行多条语句配置
在数据库连接源上加入allowMultiQueries=true,如下所示:
jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/databaseName?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
mybatis对应的sql文件写法:
<update id= ...
mybatis注解 #与$的区别
mybatis注解 #与$的区别:
$将传入的数据直接拼接在sql中。
@Delete(value = "update t_product set isDelete='1',updateTime=#{updateTime} where id in(${ids})")
#方式能够很大程度防止sql注入。
一般能用#的就别用$.
...
Spring Boot(19)——使用Mybatis
使用Mybatis
Mybatis官方提供了整合Spring Boot的Starter,需要在Spring Boot应用中使用Mybatis,需要在pom.xml中添加如下依赖,当前最新的版本是1.3.2。
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<art ...
springboot+mybatis+dubbo+aop日志第二篇
本篇主要介绍dubbo-demo-api接口层和dubbo-demo-service层,介绍代码前,咱们先来回顾一下整个demo工程的结构
1.dubbo-demo-api
这里面主要是定义所有的接口,demo工程里就定义了一个测试接口,看一下该层的代码结构
DemoApi.java代码
mybatis中的变量#与$
mybatis#与$的区别:
1.#是把传入的数据当作字符串,如#field#传入的是id,则sql语句生成是这样,order by "id",这当然会报错..
2.$传入的数据直接生成在sql里,如$field$传入的是id,则sql语句生成是这样,order by id, 这就对了.
3.#方式能够很大程度防止sql注入.
4.$方式无法防止sql注入.
5 ...
Mybatis一级缓存和二级缓存
mybatis一级缓存二级缓存
一级缓存
Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时 ...
Mybatis用法心得
随着互联网企业的发展,现在越来越多的企业选择用Mybatis而不是Hibernate,那是因为Mybatis能够通过自定义sql来优化查询,而全映射的Hibernate的性能在高并发,高关联的数据库查询中堪忧,但是用Mybatis最大的烦恼就是写一些非常基础的查询更新语句以及创建xml 了,这里说一下心得‘
一、通过Mybatis-Generator自动生成Dao,Model、Mappin ...
mybatis-generator 无法覆盖已生成的xml的问题解决
mybatis-generator一直有一个bug,就是加入已经生成过xml文件,再次生成的时候是在原文件内追加,即便是配置了覆盖属性,其他entity还好,但xml文件依然无效
网上有通过自定义添加plugin的方式来实现的
在2018年1月,其实mybatis-generator官方已经将此问题解决了
看如下ISSUE
https://github.com/mybatis/generato ...
MyBatis3注解的动态SQL
1. MyBatis3注解的动态SQL
@InsertProvider
@UpdateProvider
@DeleteProvider
@SelectProvider
新建MyBatisPro04项目
package com.andrew.mappers;
import java.util.Map;
import org.apache.ibatis.jdbc.SQL; ...
MyBatis3注解的关系映射
1. MyBatis3注解的关系映射
1) 一对一映射;
2) 一对多映射;
package com.andrew.mappers;
import org.apache.ibatis.annotations.Select;
import com.andrew.model.Address;
public interface AddressMapper {
@S ...
MyBatis3使用注解配置SQL映射器
1. MyBatis3使用注解配置SQL映射器
新建MyBatisPro03项目
package com.andrew.mappers;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import ...
MyBatis3缓存与分页
1. MyBatis3缓存
Mybatis默认情况下,MyBatis启用一级缓存,即同一个SqlSession接口对象调用了相同的select语句,则直接会从缓存中返回结果,而不是再查询一次数据库;
开发者可以自己配置二级缓存,二级缓存是全局的;
默认情况下,select使用缓存的,insert update delete是不使用缓存的;
<cache size=" ...
MyBatis3文件类型与多个参数传入
1. MyBatis3处理CLOB、BLOB类型数据
在t_student表增加pic和remark字段
alter table t_student add pic longblob;
alter table t_student add remark longtext;
2. MyBatis3传入多个输入参数
使用map或者hashmap的key-value形式
pa ...
MyBatis3动态SQL
1. MyBatis3动态SQL
1. if 条件
2. choose,when和otherwise条件
3. where条件
1) 自动加上where;
2) 如果where子句以and或者or开头,则自动删除第一个and或者or;
4. trim条件
功能和where元素类似,提供了前缀,后缀功能,更加灵活;
prefix="where":表示 ...
MyBatis3一对多关系映射
1. MyBatis3关系映射,一对多关系
创建t_grade数据表
create table t_grade(
id int(11) NOT NULL AUTO_INCREMENT,
gradeName varchar(20) DEFAULT NULL,
PRIMARY KEY(id)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET ...
MyBatis3一对一关系映射
1. MyBatis3关系映射,一对一关系
创建t_address表
create table t_address (
id int(11) NOT NULL AUTO_INCREMENT,
sheng varchar(20) DEFAULT NULL,
shi varchar(20) DEFAULT NULL,
qu varchar(20) DEFAULT NULL,
PRIMA ...
MyBatis3使用xml配置sql映射器
1. MyBatis3使用xml配置sql映射器
1) INSERT映射语句
2) UPDATE映射语句
3) DELETE映射语句
4) SELECT映射语句
引入junit
新建Folder,导入junit所用的jar包,右键 --> Build Path --> Add To Build Path
mybatis-3.2.8.jar
package ...