
MyBatis
时间不会赖着不走
这个作者很懒,什么都没留下…
展开
-
MyBatis的动态代理
假设有一个表示接口的 Class 对象(有可能只包含一个接口,) 它的确切类型在编译时无法知道。这确实有些难度。要想构造一个实现这些接口的类,就需要使用 newlnstance 方法或反射找出这个类的构造器。但是, 不能实例化一个接口,需要在程序处于运行状态时定义一个新类。为了解决这个问题, 有些程序将会生成代码;将这些代码放置在一个文件中;调用编译器;然后再加载结果类文件。很自然, 这样做的速度会比较慢,并且需要将编译器与程序放在一起。而代理机制则是一种更好的解决方案。原创 2024-02-26 23:49:15 · 1157 阅读 · 2 评论 -
Mybatis mapper-locations作用
mapper-locations顾名思义是一个定义mapper位置的属性在yml或properties下配置,作用是实现mapper接口配置见mapper和接口的绑定。使用场景:当mapper接口和mapper接口对应的配置文件在命名上相同所在的路径相同则mapper-locations可以不用配置,配置也不会生效。但是,如果当mapper接口和mapper接口对应的配置文件在命名上不同或所在的路径不同之一不同,需要配置mapper-locations才能实现接口的绑定原创 2022-05-10 19:59:42 · 1467 阅读 · 0 评论 -
MyBatis详解
什么是MyBatis mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。  原创 2022-04-18 13:49:20 · 476 阅读 · 0 评论 -
@Results用法总结
@Results用法总结原创 2021-02-25 18:14:10 · 1183 阅读 · 0 评论 -
Mybatis中的缓存
Mybatis中的缓存 什么是缓存 存在于内存中的临时数据。 为什么使用缓存 减少和数据库的交互次数,提高执行原创 2021-02-06 17:29:59 · 145 阅读 · 0 评论 -
Mybatis注解实现复杂关系映射开发
1.复杂关系映射的注解说明 @Results 注解 代替的是标签<resultMap> 该注解中可以使用单个@Result 注解,也可以使用@Result 集合 @Results({@Result(), @Result() })或@Results(@Result()) @Resutl 注解 代替了 <id>标签和<result>标签 @Result 中 属性介绍: id 是否是主键字段 column 数据库的列名 property 需要装配的属性名原创 2021-02-04 21:08:04 · 246 阅读 · 0 评论 -
Mybatis 注解实现基本 CRUD
1编写实体类public class User implements Serializable {private Integer userId;private String userName;private Date userBirthday;private String userSex;private String userAddress;public Integer getUserId() {return userId;}public void setUserId(Integer u原创 2021-02-04 19:56:31 · 168 阅读 · 0 评论 -
MyBatis一级缓存中增删改要提交事务,查的话就不用
最近在学习MyBatis发现一级缓存中,换成改方法后,数据不一样了如下代码所示public void testFindAll() { User user = userDao.findById(41); System.out.println("第一次查询的用户 "+user); //session.clearCache();//此方法也可以清空缓存 User user2 = userDao.findById(41); Syst原创 2021-02-04 17:24:12 · 567 阅读 · 0 评论 -
Statement对象
Statement翻译过来就是陈述,这个陈述可以对数据库进行CRUD的操作,没有就不能进行对数据库的操作 statement对象是数据库sql语句的载体,通过statement对象可以执行数据库访问的sql语句。 statement对象用于执行不带参数的简单的SQL语句 Prepared Statement 对象用于执行预编译的SQL语句 &原创 2021-02-04 17:13:38 · 501 阅读 · 0 评论 -
java中打印父类的toString
今天在写mybatis相关代码时,在创建了两个类,一个account类,另一个是accountUser类作为子类代码如下account类作为父类package com.domain;import java.io.Serializable;public class Account implements Serializable { private Integer ID; private Integer UID; private Double MONEY; pu原创 2021-02-04 12:04:44 · 2492 阅读 · 3 评论 -
不会
1QueryVo2po3为什么打印不出来原创 2021-02-04 11:56:30 · 185 阅读 · 0 评论 -
MyBatis中解决实体类属性和数据库表的列名不一致的操作
1实体类实体类代码如下: (此时的实体类属性和数据库表的列名已经不一致了)package com.domain;import java.io.Serializable;import java.util.Date;public class User implements Serializable{ private Integer userId; private String userName; private Date userBirthday; private原创 2021-02-03 22:02:23 · 307 阅读 · 0 评论 -
MyBatis实现基于Mapper接口代理Dao的CURD
1.User类package com.domain;import java.io.Serializable;import java.util.Date;public class User implements Serializable{ private Integer id; private String username; private String address; private String sex; private Date birthday;原创 2021-02-03 21:45:17 · 212 阅读 · 1 评论 -
MyBatis基于xml配置文件实现查询所有
首先准备sql语句CREATE DATABASE eesy_mybatis;DROP DATABASE ecif;CREATE TABLE `user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `username` VARCHAR(32) NOT NULL COMMENT '用户名称', `birthday` DATETIME DEFAULT NULL COMMENT '生日', `sex` CHAR(1) DEFAULT NULL COMMEN原创 2021-02-03 12:07:58 · 1516 阅读 · 0 评论 -
SqlSession
实现类可以进行增删查改以及事务操作利用SqlSession内部的方法进行CRUD操作SqlSession重要的四个对象1)Execute:调度执行StatementHandler、ParmmeterHandler、ResultHandler执行相应的SQL语句;2)StatementHandler:使用数据库中Statement(PrepareStatement)执行操作,即底层是封装好了的prepareStatement;3)ParammeterHandler:处理SQL参数;4)Result原创 2021-02-02 13:29:01 · 504 阅读 · 0 评论 -
SqlSessionFactory
SqlSessionFactory是创建SqlSession的工厂.每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。 SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSes原创 2021-02-02 13:00:36 · 2064 阅读 · 0 评论 -
自定义Mybatis的分析
mybatis在使用代理dao的方式实现增删改查时做什么事呢?只有两件事:第一:创建代理对象第二:在代理对象中调用selectList原创 2021-02-02 12:13:57 · 114 阅读 · 0 评论 -
Serializable接口的意义和用法
英文含义Serializable 可序列化的意思Serializable接口是启用其序列化功能的接口。实现java.io.Serializable 接口的类是可序列化的。没有实现此接口的类将不能使它们的任意状态被序列化或逆序列化。这个接口其实是个空接口,那么这个序列化操作,到底是由谁去实现了呢?其实,看一下接口的注释说明就知道,当我们让实体类实现Serializable接口时,其实是在告诉JVM此类可被序列化,可被默认的序列化机制序列化。为什么需要序列化序列化是将对象状态转换为可保持或传输的格式原创 2021-01-28 14:42:56 · 586 阅读 · 3 评论