MyBatis教程
凡我出品,皆属精品
这个作者很懒,什么都没留下…
展开
-
#MyBatis:Param注解 @Param #dao方法中有多个参数 @FDDLC
问题:正确做法:使用@Param进行绑定当然,如果dao方法只有一个参数,则无需添加@Param:原创 2021-05-05 23:37:57 · 140 阅读 · 0 评论 -
#MyBatis:JNDI @FDDLC
JNDI:JavaNamingandDirectoryInterface(Java命名和目录接口)一、在webapp下新建META-INF文件夹,再在META-INF下新建context.xml:<?xml version="1.0" encoding="UTF-8" ?><Context> <Resource name = "mysql" type = "javax.sql.DataSource...原创 2020-10-15 20:12:30 · 167 阅读 · 0 评论 -
#MyBatis多表查询 #多对多查询 @FDDLC
我们知道,用户与角色之间存在多对多的关系:关键配置1:<mapper namespace="cn.liuxingchang.dao.UserDao"> <resultMap id="userWithRole" type="cn.liuxingchang.domain.User"> <id property="id" column="id" /> <result property="name" column="na原创 2020-10-15 18:04:03 · 792 阅读 · 0 评论 -
#MyBatis_一以多查询 @FDDLC
一个用户可能对应多个账户,因此用户与账户存在一对多的关系。关键配置:<resultMap id="userWithAccount" type="cn.liuxingchang.domain.User"> <id property="id" column="id" /> <result property="name" column="name" /> <result property="age" column="age" />原创 2020-10-15 16:22:12 · 148 阅读 · 0 评论 -
#MyBatis多表查询 #多对一的两种实现方式 @FDDLC
方式一(常用):我们知道,一个用户可以对应多个账户,一个账户只能对应一个用户,即账户和用户之间存在多对一的关系。为了表示这种关系,在账户类中额外增加一个用户类的成员:对应的mapper配置如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/d...原创 2020-10-14 23:26:02 · 287 阅读 · 0 评论 -
#MyBatis动态SQL:<if>、<where>、<foreach>、<sql> @FDDLC
一、<sql>与<include>搭配使用:<sql id="selectAll"> select * from account</sql><select id="findAll" resultType="cn.liuxingchang.domain.Account"> <include refid="selectAll"></include></select>二、<i.原创 2020-10-14 20:12:54 · 350 阅读 · 0 评论 -
#Spring整合MyBatis @FDDLC
一个道理,它可能是真理,也可能是假理。如何检验真理,或者说检验真理有没有什么标准呢?小平说:实践是检验真理的唯一标准。回到正题,本篇博客的主题是:Spring整合MyBatis。那么,如何判断是否整合成功呢?——能否通过Spring容器获取到MyBatis为我们自动生成的代理dao对象,这就是判断的标准。编码流程:补张项目结构图:0:新建Maven工程,导入Maven依赖:<?xml version="1.0" encoding="UTF-8...原创 2020-10-11 16:35:32 · 168 阅读 · 0 评论 -
#MyBatis:typeAliases、typeAlias、package #MyBatis配置文件的命名规范 @FDDLC
先给出一段代码:上面这个resultType的值很长对吧,能不能省略包名,写成resultType="Account"这样简短的形式呢?当然可以,不过得先干一件事,那就是给cn.liuxingchang.domain.Account取个别名!取别名的方法有两种:一种是挨个取:<typeAliases> <typeAlias type="cn.liuxingchang.domain.Account" alias="Account" />..原创 2020-10-07 21:44:43 · 387 阅读 · 0 评论 -
#MyBatis中SQL配置文件的命名规范 #resource、package #FDDLC
先约定两个概念:我们知道:MyBatis常常涉及两个xml配置文件,一个叫【主配置文件】,里面可以配置数据源等;另一个叫【SQL配置文件】,里面可以写SQL代码。请看两个代码片段:片段1:<mappers> <mapper resource="cn/liuxingchang/dao/AccountDao.xml" /> <mapper resource="cn/liuxingchang/dao/UserDao.xml" /><.原创 2020-10-07 21:38:52 · 705 阅读 · 0 评论 -
#MyBatis:Properties标签 <Properties> #MyBatis配置数据库的3种方式 @FDDLC
对比阅读:#Spring:<context:property-placeholder> #Spring中配置数据源的两种方式 @FDDLCMyBatis中配置数据库的三种方式:方式一:<environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC"></transactionManager> ..原创 2020-10-07 14:34:39 · 1042 阅读 · 5 评论 -
#MyBatis:模糊查询的两种实现方式 @FDDLC
情境设置:假设name的值有"Zhao"、"Qian"、"Sun"、"Li"。现在要查找name中含"a"的,即"Zhao"、"Qian"。方式一:xml:<select id="findByName" parameterType="String" resultType="cn.liuxingchang.domain.Account"> select * from account where name like #{name}</select>Jav.原创 2020-10-07 12:35:04 · 228 阅读 · 0 评论 -
#MyBatis增删改查 #MyBatis的CRUD操作 #自己编写dao实现类 #FDDLC
编码流程:补张项目结构图:0:新建Maven工程,导入Maven依赖:mysql-connector-java、mybatis、junit。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ..原创 2020-10-07 11:13:59 · 194 阅读 · 0 评论 -
#resultMap #列名和属性名不相同 @FDDLC
在实际开发中,可能会碰到下面这种情况:对于上面这种情况,如果只配置:<select id="findAll" resultType="cn.liuxingchang.domain.Account"> select * from account</select>执行findAll的时候,就会:看到null了吗?说明account表中的money没有把值传给Account类中的balance!怎么办?方法很多,这里给出两种。方法一:在SQL原创 2020-10-07 09:56:26 · 203 阅读 · 2 评论 -
#MyBatis查询之QueryVo:以封装了对象的对象作为parameterType @FDDLC
入门步骤:先给出项目结构:0:新建Maven工程,导入Maven依赖:mysql-connector-java、mybatis、junit。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ..原创 2020-10-06 22:35:25 · 637 阅读 · 0 评论 -
#MyBatis:selectKey标签 <selectKey> #keyProperty、keyColumn、order、resultType @FDDLC
如果把表的主键设为了自增长,在后面进行insert操作时,数据库自动帮我们生成了id。比如:insert into account (name, money) values (#{name}, #{money}) //假设name = "vip", money = "666"执行完后,我们去看数据库,发现多了一条记录:好,现在问题来了:看了数据库后我们知道自动生成的id是11,如果不看数据库,能不能知道这个id呢?selectKey就能解决这个问题!示例如下:<in原创 2020-10-06 20:21:05 · 4133 阅读 · 6 评论 -
#MyBatis增删改查 #MyBatis的CRUD操作 @FDDLC
Mapper里的SQL语句:1、查询所有:<select id="findAll" resultType="cn.liuxingchang.domain.Account"> select * from account</select>2、插入记录:<insert id="insert" parameterType="cn.liuxingchang.domain.Account"> insert into account (name,原创 2020-10-06 19:25:49 · 236 阅读 · 0 评论 -
#MyBatis入门:自己写dao实现类 @FDDLC
项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:.原创 2020-10-06 13:18:32 · 261 阅读 · 0 评论 -
#MyBatis入门:基于注解 @Select @FDDLC
特点:1、不写dao实现类;2、无AccountMapper.xml,只剩主配置文件mybatis.xml。直接上源码:项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...原创 2020-10-06 12:43:14 · 234 阅读 · 0 评论 -
#MyBatis入门 @FDDLC
入门步骤:0:新建Maven工程,导入Maven依赖:mysql-connector-java、mybatis、junit。1.1、准备好数据库,新建account表(id,name,money),填充若干条记录。1.2、编写account表对应的实体类Account{Integer id; String name; Double money;}2.1、编写AccountDao接口:List<Account> findAll();2.2、编写AccountMapp..原创 2020-10-06 12:03:34 · 241 阅读 · 0 评论