Mybatis
英华岁月
这个作者很懒,什么都没留下…
展开
-
MyBatis映射文件中#{}
关于#{} “#{}” 在MyBatis中代表一种占位符,它可以接受输入的参数,在大括号中编写参数名称来接受对应的参数。它接受的类型可以是:基本数据类型、包装数据类型、普通的JavaBean类型或者HashMap类型。 当接受简单类型时,"#{}" 中可以写 “value” 或者其他任意的参数名,因为Java反射只能获取方法参数的类型,但是无法得知方法参数的名字,如下所示: <!-- 根据 id 查询 --> <select id="findById" resultType="com.it原创 2020-09-02 11:22:26 · 1049 阅读 · 0 评论 -
Mybatis 多表查询(一对一,一对多,多对多)
Mybatis 多表查询 一对一查询(多对一) 需求 查询所有账户信息,关联查询下单用户信息。 注意: 因为一个账户信息只能供某个用户使用,所以从查询账户信息出发关联查询用户信息为一对一查询。如 果从用户信息出发查询用户下的账户信息则为一对多查询,因为一个用户可以有多个账户。 方式一 定义账户信息的实体类 /** * * <p>Title: Account</p> * <p>Description: 账户的实体类</p> */ public class原创 2020-06-29 22:01:51 · 1816 阅读 · 0 评论 -
Mybatis 的动态 SQL 语句
Mybatis 的动态 SQL 语句 动态 SQL 之< if>&&< where>标签 我们根据实体类的不同取值,使用不同的 SQL 语句来进行查询。比如在 id 如果不为空时可以根据 id 查询, 如果 username 不同空时还要加入用户名作为条件。这种情况在我们的多条件组合查询中经常会碰到。 持久层 Dao 接口 /** * 根据用户信息,查询用户列表 * @param user * @return */ List<User> findByU原创 2020-06-29 21:14:54 · 93 阅读 · 0 评论 -
SqlMapConfig.xml配置文件
SqlMapConfig.xml配置文件 SqlMapConfig.xml 中配置的内容和顺序 properties(属性): **在使用 properties 标签配置时,我们可以采用两种方式指定属性配置。 第一种: <properties> <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="jdbc.url" value="jdbc:mysql://localhost:原创 2020-06-28 16:29:15 · 1089 阅读 · 0 评论 -
resultMap 结果类型
resultMap 结果类型 resultMap 标签可以建立查询的列名和实体类的属性名称不一致时建立对应关系。从而实现封装。 在 select 标签中使用 resultMap 属性指定引用即可。同时 resultMap 可以实现将查询结果映射为复杂类 型的 pojo,比如在查询结果映射对象中包括 pojo 和 list 实现一对一查询和一对多查询。 定义 resultMap <!-- 建立 User 实体和数据库表的对应关系 传智播客——专注于 Java、.Net 和 Php、网页平面设计工程师的培原创 2020-06-28 16:17:43 · 4890 阅读 · 0 评论 -
通过 pojo 传递查询条件
传递 pojo 包装对象 开发中通过 pojo 传递查询条件 ,查询条件是综合的查询条件,不仅包括用户查询条件还包括其它的查 询条件(比如将用户购买商品信息也作为查询条件),这时可以使用包装对象传递输入参数。Pojo 类中包含 pojo。 需求:根据用户名查询用户信息,查询条件放到 QueryVo 的 user 属性中。 编写 QueryVo package com.yg.domain; import java.io.Serializable; public class QueryVo implemen原创 2020-06-28 11:38:27 · 276 阅读 · 0 评论 -
Mybatis 的参数parameterType 配置
Mybatis 的参数 parameterType 配置参数 使用说明 该属性的取值可以是基本类型,引用类型(例如:String 类型),还可以是实体类类型(POJO 类)。同时也可以使用实体类的包装类,本章节将介绍如何使用实体类的包装类作为参数传递。 注意事项 基 本 类 型 和 String 我 们 可 以 直 接 写 类 型 名 称 , 也 可 以 使 用 包 名 . 类 名 的 方 式 , 例 如 : java.lang.String。实体类类型,目前我们只能使用全限定类名。究其原因,是 mybai原创 2020-06-28 11:32:34 · 620 阅读 · 0 评论 -
Mybatis 与 JDBC 编程的比较
Mybatis 与 JDBC 编程的比较 1.数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。 解决: 在 SqlMapConfig.xml 中配置数据链接池,使用连接池管理数据库链接。 2.Sql 语句写在代码中造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java 代码。 解决: 将 Sql 语句配置在 XXXXmapper.xml 文件中与 java 代码分离。 3.向 sql 语句传参数麻烦,因为 sql 语句的 where 条原创 2020-06-28 11:27:02 · 315 阅读 · 0 评论 -
查询使用聚合函数
查询使用聚合函数 在持久层接口中添加模糊查询方法 /** * 查询总纪录条数 */ int findAllcount(); 在用户的映射配置文件中配置 <!--查询总记录条数--> <select id="findAllcount" resultType="int" > SELECT count(*) FROM USER </select> 加入聚合查询的测试方法 /*聚合查询测试*/ @原创 2020-06-28 11:25:34 · 342 阅读 · 0 评论 -
#{}与${}的区别
{}与${}的区别原创 2020-06-28 11:20:09 · 216 阅读 · 0 评论 -
用户模糊查询
用户模糊查询 在持久层接口中添加模糊查询方法 /** * 用戶模糊查詢 */ List<User> findByName(String username); 在用户的映射配置文件中配置 <!--根据名称模糊查询--> <select id="findByName" parameterType="String" resultMap="userMap"> SELECT * FROM USER WHERE usern原创 2020-06-28 11:16:40 · 545 阅读 · 0 评论 -
基于代理 Dao 实现 CRUD 操作
基于代理 Dao 实现 CRUD 操作 1、根据 ID 查询 1.1在持久层接口中添加 findById 方法 /** * 根据id查询 */ User findById( Integer userId); 1.2在用户的映射配置文件中配置 <select id="findById" resultMap="userMap" parameterType="int"> SELECT * FROM USER WHERE id =#{uid}原创 2020-06-28 11:11:12 · 205 阅读 · 0 评论 -
Mybatis使用(一)
Mybatis使用(一) 1、创建Maven工程 在IDEA中创建maven直接下一步下一步,然后创建一个名字就可以了。Maven配置 2、在pom.xml中配置Mybatis坐标 <?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-06-26 19:07:06 · 301 阅读 · 0 评论