
Mybatis
Mybatis使用配置等
32224047_yw
anyway
展开
-
java.lang.reflect.InvocationTargetException
记一次java.lang.reflect.InvocationTargetException 异常1.场景查询数据库时,dao查询数据出现这个异常2.异常原因通过dao查询到数据后,通过一个对象实例来封装,但是查询返回的数据有多条,从而出现了java.lang.reflect.InvocationTargetException 异常3.处理方法查询数据库,删除多余的数据 修改封装数据的对象为list4.后记????这里记录的很简洁,网上记录的原因大多数是配置不对导致的,这里原创 2021-03-12 09:36:57 · 2087 阅读 · 0 评论 -
浅析Mybatis通过接口完成映射过程
1.概述为了简化Mybatis的使用,Mybatis提供了接口方式自动化生成调用过程的机制,可以大大简化MyBatis的开发2.实现过程2.1开发映射文件<?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原创 2020-07-07 20:59:15 · 614 阅读 · 0 评论 -
Mybatis手动映射结果集
1.概述Mybatis可以自动将查询结果封装到bean,前提条件是bean的属性名和查询的结果列名相同,就会依次对应存储,如果查询结果的列名和bean的属性名不一致,则需要手动映射结果集。2.代码实现2.1准备一个bean,bean的属性设置为和数据库字段名不一致public class User2 { private int uid; private String uname; private int uage; public User2() {原创 2020-07-07 20:24:24 · 395 阅读 · 0 评论 -
Mybatis动态sql实现CRUD操作
1.select查询select查询也可以使用之前的机制在配置文件中直接编写sql,但是select语句的where字句中需要拼接哪些查询字段是根据传入的值决定的,此时可以通过Mybatis提供的标签实现判断,动态的去拼接select语句,而不是按照每次传入的条件参数不同而去分情况写一堆的sql在拼接的过程中Mybatis标签会根据传入值是否为空,自动去掉多余的and <select id="selc01" resultType="cn.cn.wyy.domain.Us原创 2020-07-07 13:39:46 · 1404 阅读 · 0 评论 -
Mybatis中#{} 和 ${}区别
1.#{}#{}会作为sql参数使用,替代sql中的? 有预编译机制,防止sql注入,效率高 字符串;类型会自动在两边拼上单引号2. ${}${}会原样直接拼接到sql上 没有预编译机制,不能防止sql注入,效率低 字符串类型两边不会自动拼接单引号3.测试#{}测试结果如下${}测试结果如下4.总结通常都使用#{},有预编译机制,可以防止sql注入,效率高。但如果传递的是 表名 列名 关键字 等必须直接拼接到sql中的内容时,使用${},防止自动拼接单引..原创 2020-07-06 19:45:38 · 367 阅读 · 0 评论 -
Mybatis中值传递的三种方式
1.前言本案例中,所用的的数据表,bean,Mybatis数据库配置,可以参考:https://blog.csdn.net/qq_32224047/article/details/1071651572.值的传递 - Map传值可以通过对象 获取 Map传递值,在配置文件中通过 #{} 或 ${}进行应用userMapper.xml中的配置<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-/原创 2020-07-06 19:25:57 · 1633 阅读 · 0 评论 -
Mybatis入门案例
1.创建java项目,并导入相关开发包2. 创建表create database mydb;use mydb;create table user (id int primary key auto_increment,name varchar(255),age int);insert into user values (null,'aaa',19),(null,'bbb',29),(null,'ccc',39),(null,'ddd',22),(null,'eee',33);3原创 2020-07-06 18:45:19 · 249 阅读 · 0 评论