mybatis
文章平均质量分 68
Bruce_Json
这个作者很懒,什么都没留下…
展开
-
Mybatis-Plus进行分页查询
依赖: <!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter<...原创 2019-07-28 16:29:46 · 17604 阅读 · 2 评论 -
mybatis IDEA——多个接口参数处理
UserMapper.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">&l原创 2018-09-06 23:27:19 · 577 阅读 · 0 评论 -
mybatis IDEA——delete
UserMapper.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">&l原创 2018-09-06 23:17:09 · 361 阅读 · 0 评论 -
mybatis IDEA——主键自增insert
这里介绍三种插入方式,第一种是普通插入,第二种是使用JDBC方式返回主键自增的键,第三种是使用selectKey返回主键的值1、普通插入 <insert id="insert"> insert into sys_user (id,user_name,user_password,user_email,create_time) valu...原创 2018-09-06 21:23:41 · 3596 阅读 · 0 评论 -
mybatis IDEA——多表查询
1、创建数据库表(用户表和角色表)CREATE TABLE `sys_role` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID', `role_name` varchar(50) DEFAULT NULL COMMENT '角色名', `enabled` int(11) DEFAULT NULL COMMENT...原创 2018-09-06 18:39:11 · 3445 阅读 · 0 评论 -
SSM (IDEA) —— Spring和MyBatis整合
一、官方教程http://www.mybatis.org/spring/zh/index.html二、创建Web项目注意添加:archetypeCatalog(internal)三、添加依赖包项目主要依赖的jar包有Spring核心包、Spring AOP包、MyBatis包、MyBatis-Spring适配包、JSTL、JUnit、Log4j等,具体的pom.xml文件如下:...原创 2018-09-09 10:14:03 · 351 阅读 · 0 评论 -
spring IoC (IDEA)—— 属性注入
1、注入简单值简单值包括基本类型+String。<bean id="s1" class="com.etc.entity.Student"> <property name="no" value="2015001001"></property> <property name="name"原创 2018-09-08 09:52:59 · 584 阅读 · 0 评论 -
spring IoC (IDEA)—— 构造方法注入
1、简单类型的注入在Student类中增加以下构造方法:public Student(String no, String name, String gender) { this.no = no; this.name = name; this.gender = gender;}配置中增加以下配置:<bean id="s3" class="com.e...原创 2018-09-08 09:32:18 · 836 阅读 · 0 评论 -
MyBatis的Mapper接口以及Example的实例函数及详解
一、mapper接口中的方法解析mapper接口中的函数及方法方法 功能说明 int countByExample(UserExample example) thorws SQLException 按条件计数 int deleteByPrimaryKey(Integer id) thorws SQLException 按主键删除 int deleteByExa...转载 2018-08-30 12:50:59 · 183 阅读 · 0 评论 -
mybatis IDEA——自定义分页和分页插件的使用
PageHelper实现了通用的分页查询,其支持的数据有,mysql、Oracle、DB2、PostgreSQL等主流的数据库。使用说明:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md导入依赖 <dependency> <...原创 2018-09-07 21:56:25 · 3089 阅读 · 0 评论 -
mybatis IDEA——存储过程的使用以及 Parameter number x is not an OUT parameter错误
1、根据用户id查询用户其他信息创建存储过程CREATE PROCEDURE sp_query_by_id( IN i_userid BIGINT, OUT userName VARCHAR(50), OUT userPassword VARCHAR (50), OUT userEmail VARCHAR(50), OUT createTime DATETIME)...原创 2018-09-07 21:48:10 · 3372 阅读 · 0 评论 -
mybatis IDEA——注解方式将sql语句写到接口中
MyBatis注解方式就是将SQL语句写到接口中,优点是对于需求比较简单的系统,效率很高,缺点是当SQL语句有变化时需要重新编译代码,一般情况下不建议使用注解方式。@Select注解 @Select({ "select * from sys_user where id = #{id}" }) SysUser queryByIdAnno(Lon...原创 2018-09-07 09:49:07 · 2750 阅读 · 1 评论 -
mybatis IDEA——if和choose标签
if标签如何实现用户高级查询功能,根据输入的条件查询用户信息,需要支持以下3种情况:A. 当只输入用户名时,需要根据用户名来进行模糊查询B. 当只输入邮箱时,根据邮箱进行完全匹配C. 当同时输入用户名和邮箱时,同时用这两个条件来查询匹配的用户(1) 在where条件中使用if<select id="queryByUser" resultType="...原创 2018-09-07 15:19:35 · 1380 阅读 · 0 评论 -
mybatis IDEA——where、set和trim用法
where标签如果该标签包含的元素有返回值,就插入一个where;如果where后面的字符串以And或者Or开头,就将它们剔除。 <select id="queryByUser3" resultType="SysUser"> select id, user_name, user_password, user...原创 2018-09-07 17:18:20 · 1079 阅读 · 0 评论 -
maven项目不编译java目录下的xxMapper.xml文件
pom文件在<build>中添加配置,与<plugins>同级 <resources> <resource> <directory>src/main/resources</directory> <filtering&...原创 2019-07-26 13:11:52 · 566 阅读 · 0 评论 -
mybatis——resultMap查询省市区
<!--省市区查询 start--> <!--所有省市区--> <resultMap id="areaMap" type="java.util.HashMap"> <id column="areaID" property="areaID"/> <result column="parent...原创 2019-07-23 16:30:49 · 1399 阅读 · 1 评论 -
It was either not specified and/or could not be found for the javaType (java.time.LocalDateTime)
总所周知,localdatetime是jdk8 推出的关于日期计算非常方便地一个类,一旦开始用上就欲罢不能。但是在使用的时候,坑还是蛮多的。一、mybatis与LocalDatetime如果直接将实体里面所有的Date类型换成LocalDatetime之后,运行程序是会报异常的。此时,可以加入以下依赖:<dependency><groupId>org.myb...原创 2019-06-27 16:40:05 · 7963 阅读 · 1 评论 -
com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'xxx'
url中加入参数spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezo...原创 2019-06-01 12:44:01 · 486 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Result Maps collection already contains value for
MyBatis逆向工程时xml文件没有覆盖只是追加,所以检查生成的配置文件将重复(175行开始重复)的删除即可原创 2019-05-31 11:07:06 · 2343 阅读 · 3 评论 -
mybatis —— 普通分页和分页插件
1、普通分页实体类package com.etc.entity;import java.util.List;public class Page<T> { /** * 每页条数 */ private int pageSize = 10; /** * 第几页 */ private int pageIndex = 1; /** * 总...原创 2018-09-22 23:04:47 · 365 阅读 · 0 评论 -
mybatis ——强大的分页插件拦截器
page实体类PageParams省略get和set // 当前页码 private Integer page; // 每页限制条数 private Integer pageSize; // 是否启动插件,如果不启动,则不作分页 private Boolean useFlag; // 是否检测页码的有效性,如果为true,而页码大于最大页数,则抛出异常 private Bool...原创 2018-09-22 22:41:26 · 390 阅读 · 0 评论 -
SSM (IDEA) —— Spring,MyBatis和SpringMVC整合
一、官方教程http://www.mybatis.org/spring/zh/index.html二、创建Web项目注意添加:archetypeCatalog(internal)三、添加依赖包项目主要依赖的jar包有Spring核心包、Spring AOP包、MyBatis包、MyBatis-Spring适配包、JSTL、JUnit、Log4j等,具体的pom.xml文件如下:...原创 2018-09-11 08:49:20 · 143 阅读 · 0 评论 -
SSM —— Jstl自制分页标签
下面会介绍两种用法,第一种是联合PageHelper和逆向工程的写法,第二种是自己写映射文件实现效果首先需要两个实体工具类page省略get和setpublic class Page<T> { private int total; // 总条数 private int page; // 当前页 private int size; ...原创 2018-09-23 15:48:20 · 455 阅读 · 0 评论 -
mybatis IDEA——高级结果映射
在关系型数据库中,我们经常要处理一对一、 一对多的关系。比如一个用户可以拥有多个角色。1、一对一映射A.使用自动映射处理一对一关系假设一个用户只拥有一个角色,因此先在SysUser类中增加SysRole字段 private SysRole role; public SysRole getRole() { return role; } public void set...原创 2018-09-07 21:10:56 · 428 阅读 · 0 评论 -
mybatis的Mapper接口以及Example的实例函数及详解
一、mapper接口中的方法解析mapper接口中的函数及方法方法 功能说明 int countByExample(UserExample example) thorws SQLException 按条件计数 int deleteByPrimaryKey(Integer id) thorws SQLException 按主键删除 int deleteByExa...原创 2018-09-07 19:40:44 · 620 阅读 · 2 评论 -
mybatis——将sql语句作为字符串变量传入实现结果集降序排列
studentMapping.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" ><mapper namespace="mybatis.s原创 2018-08-19 13:53:25 · 1836 阅读 · 0 评论 -
mybatis入门——1.xml构建SqlSessionFactory
一、mybatis四个核心组件:1.SqlsessionFactoryBuilder(构造器):可用配置或代码生成SqlSessionFactory。2.SqlSessionFactory(工厂接口):生成SqlSession。3.SqlSession(会话):既可以发送SQL执行返回结果,也可以获取Mapper的接口,作用类似JDBC中connection。4.Sql Mappe...原创 2018-07-22 22:11:05 · 417 阅读 · 0 评论 -
mybatis入门——2.eclipse中安装mybatis插件
一、为什么用mybatis插件在ORM框架mabatis中,使用SQL语句实现数据表与javaBean映射,但是映射代码比较繁多,使用mybatis插件可以通过xml逆向工程配置生成ORM需要到文件,省去写繁多到SQL语句,比较方便。二、安装步骤1.eclipse主界面help>Eclipse Markerplace2.搜mybatis安装3.安装过程会持续一会,...原创 2018-07-23 17:45:45 · 1017 阅读 · 0 评论 -
mybatis入门——3.xml逆向工程
逆向工程能省去写繁多到SQL语句,需要用到mybatis插件,笔者上一篇文章中有介绍,主要是用xml配置文件生成映射,并且测试插入一条数据。1、以下是项目结构和数据库设计(表名user),需要用到两个架包2、新建mybatis文件,代码如下<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorCo...原创 2018-07-23 18:08:17 · 400 阅读 · 0 评论 -
mybatis入门——4.实现简单CURD
一、步骤先说下步骤,建立数据库表、添加mybatis包和mysql包,建立mybatis-config.xml配置文件,创建映射ORM(可以用逆向工程),添加mappers添加映射到mybatis-config.xml中、建立工具类,用build构建factory,从factory获得sqlsession,建立servlet(为了测试方便笔者建立的是普通class),sqlsession执行s...原创 2018-07-24 15:52:04 · 297 阅读 · 0 评论 -
mybatis入门——5.使用pojo并对方法封装实现CURD
先说下总的流程:1、数据库建表。2、添加mybatis.jar和mysql-connector.jar。3、创建pojo实体类。4、配置mybaits-config.xml文件。5、创建获得Factory和Session的类。6、配置Mapping.xml文件,并在mybatis-config.xml文件中添加配置。7、对操作数据库方法封装。8、实现CURD。项目结构和数据库表如下: ...原创 2018-07-26 15:28:03 · 656 阅读 · 0 评论 -
mybatis入门——6.使用HashMap并对方法封装实现CURD
使用HashMap的方法和JOPO的方法基本类似,HashMap的方法不用建立User类,它是根据hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。先说下总的流程:1、数据库建表。2、添加mybatis.jar和mysql-connector.jar。3、配置mybaits-config.xml文件。4、创建获得Factory和Session的类。5、配置Mapping...原创 2018-07-26 16:38:06 · 1286 阅读 · 0 评论 -
mybatis的selectKey作用
SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。使用mybatis的selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。 属性 描述 keyProperty selectKey 语句结果应该被设置的目标属性。 resultType ...转载 2018-08-11 12:56:15 · 295 阅读 · 0 评论 -
mybatis入门——1.1 读取properties方式获得数据库连接
总步骤:添加jar——创建mybatis-config.xml——创建db.properties——创建获得sqlsession类mybatis-config.xml文件,xml的自动生成方法博主前面文章中有<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybati...原创 2018-08-15 22:38:23 · 765 阅读 · 0 评论 -
mybatis——处理数据表字段名和java实体类属性名不一致情况
当数据库表字段名和java实体类属性名不一致的情况,我们需要用<resultMap>标签处理项目结构,数据库表字段,java实体类属性名如下图mybatis-config<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD ...原创 2018-08-16 21:35:17 · 1285 阅读 · 0 评论 -
mybatis动态sql——if标签和设置映射方式处理插入null值
当遇到插入null值造成mybatis无法识别的情况时,我们可以通过设置映射的数据类型来处理,或者使用动态sql标签这两种方式来处理这种问题1、通过设置映射的数据类型来处理:在#{}格式种加入数据类型声明,这样明确告诉mybatis遇到null时该如何处理<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PU...原创 2018-08-19 22:39:12 · 3184 阅读 · 0 评论 -
mabatis动态sql——choose标签和set标签
<choose>标签在作用是众多条件中选取一个,类似java中switch语句<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" ><原创 2018-08-19 22:48:48 · 513 阅读 · 0 评论 -
mabatis动态sql——foreach标签
<foreach>标签有循环的功能,可以用来生成有规律的SQL语句,主要属性有item,index,collection,open,separator,closeitem:表示集合中每一个元素进行迭代时的别名index:指定一个名字,用于表示在迭代过程中,每次迭代到的位置open:表示该语句什么以什么开始separator:表示每次迭代之间以什么符号作为分隔符clo...原创 2018-08-22 23:36:05 · 1597 阅读 · 0 评论 -
mybatis IDEA——bind用法
bind标签可以使用OGNL表达式创建一个变量并将其绑定到上下文中。在前面的例子中,UserMapper.xml有一个queryByUser方法,这个方法用到了like查询条件,部分代码如下。<if test="userName != null and userName!= '' "> and user_name like concat('%',#{userNa...原创 2018-09-07 19:21:45 · 620 阅读 · 0 评论 -
mybatis IDEA——foreach标签
SQL语句中有时会使用IN关键字,例如id in ( 1, 2, 3)。可以使用${ids}方式直接获取值,但这种写法不能防止SQL注入,想避免SQL注入就需要用#{}的方式,这时就要配合使用foreach标签来满足需求。foreach可以对数组、Map或实现了iterable接口(如List、 Set)的对象进行遍历。数组在处理时会转换为List对象,因此foreach遍历的对象可以分为两大类...原创 2018-09-07 19:11:52 · 1328 阅读 · 0 评论