自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ConstXiong

记录编程实践...

  • 博客(21)
  • 资源 (7)
  • 收藏
  • 关注

原创 用 MyBatis 如何使用模糊查询?

1、XML 中使用#{},Java 代码中传入 "%参数值%"Java: list< User> users = mapper.select(Collections.singleMap("name", "%constxiong%")); XML: < select id=”select” resultMap="User" parameterType="String"> select * from user where name like #{n.

2020-09-27 21:49:16 398

原创 MyBatis 中如何配置连接中断或执行超时?

Mybatis 的 XML 配置中,在 < settings> 节点中添加子节点 < setting>,name=defaultStatementTimeout,设置等待数据库响应的超时时间。< settings> <!-- 设置超时时间,它决定数据库驱动等待数据库响应的秒数 --> < setting name="defaultStatementTimeout" value="25"/>< /settings>.

2020-09-27 21:48:23 2126

原创 MyBatis 中实体类的属性名与表中的字段名不一致怎么处理?

1、修改 SQL,给查询字段重命名,如 将 user_id 重命名为 userIdselect user_id as userId from table2、MyBatis 的 XML 映射文件中,使用 <resultMap> 标签,定义数据库字段名与实体 bean 的属性字段名的映射关系< select id="getUser" parameterType="int" resultMap="”UserMap”"> select * from user ..

2020-09-27 21:47:30 1454

原创 #{} 和 ${} 的区别

MyBatis 在处理 #{} 时,会将 SQL 中的 #{} 替换为 ?,预编译 SQL,通过 PreparedStatement 的 setXxxx 的方法进行参数赋值。使用 #{} 可以有效地防止 SQL 注入。 MyBatis 在处理 ${} 时,会直接把 ${} 替换为参数值,存在 SQL 注入的风险。 #{} 比${} 安全,但还是提供了${} 这种动态替换参数的方式,是因为有些复杂的 SQL 使用场景通过预编译的方式比较麻烦,且在代码中完全可以做到控制非法参数,有些参数可能是一些常量或..

2020-09-27 21:46:37 1918

原创 MyBatis 与 Hibernate 的区别

MyBatis 不完全是一个 ORM 框架,它需要程序员自己编写 SQL;Hibernate 可以做到无 SQL 对数据库进行操作 MyBatis 直接编写原生 SQL,可以严格控制 SQL 执行性能,灵活度高,适合对关系数据模型要求不高的软件开发,快速响应需求变化 MyBatis 书写 SQL 可能依赖数据库特性,导致应用程序数据库一致性差;Hibernate 可以屏蔽掉数据库差异,数据库一致性好 MyBatis 考验程序编写 SQL 的功底,编写大量 SQL,效率可能不高;Hibernate 对象

2020-09-24 22:37:00 165

原创 MyBatis 的适用场景

直接编写 SQL,对应多变的需求改动较小 对性能的要求很高,做 SQL 的性能优化相对简单、直接【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...

2020-09-24 22:36:07 811

原创 Mybaits 的优缺点

优点:消除 JDBC 中的重复代码 可以在 XML 或注解中直接编写 SQL 语句,比较灵活,方便对 SQL 的优化与调整 SQL 写在 XML 中,与代码解耦,按照对应关系方便管理 XML 中提供了动态 SQL 的标签,方便根据条件拼接 SQL 提供了 XML、注解与 Java 对象的映射机制 与 Spring 集成比较方便缺点:字段较多、关联表多时,编写 SQL 工作量较大 SQL 语句依赖了数据库特性,会导致程序的移植性较差,切换数据库困难【Java面试题与答...

2020-09-24 22:35:14 254

原创 介绍一下 MyBatis

MyBatis 是一款优秀的持久层框架。支持自定义 SQL、存储过程以及高级映射 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作 通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录ps: 摘自官网https://mybatis.org/mybatis-3/zh/index.html【Java面试题与答案】整理推荐基础与语法 集合 网络编程...

2020-09-24 22:34:21 277

原创 如何实现分库分表?怎么配置?

分库分表的实现方案,一般分为两种1、增加一个中间层,中间层实现 MySQL 客户端协议,可以做到应用程序无感知地与中间层交互。由于是基于协议层的代理,可以做到支持多语言,但需要多启动一个进程、SQL 的解析也耗费大量性能、由于协议绑定仅支持单个种类的数据库库。2、在代码层面增加一个路由程序,控制对数据库与表的读写。路由程序写在项目里,与编程语言绑定、连接数高、但相对轻量(比如 Java 仅需要引入 SharingShpere 组件中 Sharding-JDBC 的 jar 即可)、支持任意数据库。

2020-09-24 22:29:51 5156

原创 JDK1.8 中的日期与时间 API

为什么 JDK 1.8 之前的时间与日期 API 不好用?1、java.util.Date 是从 JDK 1.0 开始提供,易用性差 默认是中欧时区(Central Europe Time) 起始年份是 1900 年 起始月份从 0 开始 对象创建之后可修改 2、JDK 1.1废弃了 Date 中很多方法,新增了并建议使用java.util.Calendar 类 相比 Date 去掉了年份从 1900年开始 月份依然从 0 开始 选...

2020-09-21 22:16:53 497

原创 Sharding-JDBC 实现读写分离

Sharding-JDBC 是 apache 旗下的 ShardingSphere 中的一款产品,轻量,引入 jar 即可完成读写分离的需求,可以理解为增强版的 JDBC,现在被使用的较多。搭建项目maven 依赖的库<!-- 当前最新版 sharding-jdbc --><dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardin

2020-09-21 22:16:00 1731 1

原创 执行MySQL脚本

1、登录 mysql、执行 source 文件目录mysql -uroot -puse 数据库名source E:\a.sql2、mysql bin目录,通过 mysql 命令# -D 后面是数据库名,最后一个参数是文件绝对路径mysql -uroot -p -Dblog<E:\a.sql【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linu...

2020-09-21 22:13:47 573

原创 input 仅支持输入数字

<input oninput="value=value.replace(/[^\d]/g, '')">【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...

2020-09-21 22:12:54 274

原创 Linux指令 查找包含指定内容的文件

# 在指定目录,查找指定内容的文件grep -r "查询内容" 目录# 在指定目录,显示包含指定内容的文件名grep -r -l "查询内容" 目录# 在指定目录,查找find 目录 -name "文件名"【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...

2020-09-16 21:48:55 550

原创 mysql-8.0.21-winx64 集群-主从配置

主:172.31.32.1841、主节点在 my.ini 文件新增配置server-id=1log-bin=mysql-bin2、重启服务net stop mysqlnet start mysql3、为从节点创建账号同步账号,授权CREATE USER 'slave'@'%' IDENTIFIED BY 'constxiong@123';GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slav...

2020-09-16 21:48:02 238

原创 mysql-8.0.21-winx64 安装

MySQL windows 64 bits 下载文件地址https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.21-winx64.zip1、解压2、初始化脚本 my.ini,放到 mysql 的解压目录,与 bin 目录平级# 设置3306端口port=3306# 设置mysql的安装目录basedir=E:\install\mysql8\product# 设置mysql数据库的数据的存放目录#datadir=E:\insta.

2020-09-16 21:47:09 615

原创 一览 JDK 并发包(J.U.C)

JDK 并发包的知识不像设计模式,设计模式的知识点是易懂难精,而 JDK 并发包尤其是从源码角度去看,刚开始比较难理解,但理解之后就可以拿去使用也不易忘记。通过这次整理并发包的结构,越发觉得从学习到掌握知识需要有个过程。两三年前看到并发包里的类(接口)名大多不知道它们是干嘛的,而现在基本能明白包中 80% 的类(接口)是用来解决什么问题的。这里顺带分享一个经验,就是很多学习编程的同学,喜欢一上来就看源码。当初我也是这样,并发包里的源码我看过两遍,第一遍硬着头皮基本啥也没看懂。看不懂源码最..

2020-09-10 23:41:27 479

原创 迭代器模式在开源代码中的应用

迭代器模式的作用:提供一种方法来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。案例迭代器模式最经典的应用就是 JDK 中工具类 Iterator 接口的设计,定义了对集合的访问方法。public interface Iterator<E> { boolean hasNext(); E next(); default void remove() { throw new UnsupportedOperationException("remove");.

2020-09-09 23:57:34 809

原创 中介者模式的实际应用

中介者模式的作用:定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象间的耦合度,使原有对象之间不必相互了解。案例Java web 开发中 MVC 模式(Model-View-Controller)就用到了中介者模式,Controller 就是 Model 和 View 的中介。比如使用 Spring MVC 框架,定义一个用户信息的 Controller,可以获取用户登录信息的数据模型,返回到对应的 jsp view 进行渲染显示@Controllerpublic ..

2020-09-09 21:58:22 777

原创 观察者模式在开源代码中的应用

观察者模式的作用:多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其他多个对象,从而影响其他对象的行为。案例JDK 中对观察者模式的实现观察者接口,实现该接口用于被通知发生变化,进行更新public interface Observer { void update(Observable o, Object arg);}Observable 相当于主题角色,可以注册、删除、通知观察者public class Observable { p..

2020-09-09 21:57:29 321

原创 《Java与模式》

为什么看这本书?原因很简单,因为它是一本专门用 Java 编程语言讲设计模式的书。书的整体情况书比较厚,1000 多页,很全面,也不那么啰嗦,零零碎碎花了 10个小时的时间看完的。讲了很多基础的概念,适合入门。书提到了这些知识模块: 设计模式的历史 UML的介绍 可维护性与复用性的关系 6 大设计原则,以及之间的关系 Java 中与设计模式相关的接口与类的概念 6 种创建型设计模式,及相关专题示例 8 种行为型...

2020-09-04 22:31:18 402

eclipse使用教程ppt

ppt版,eclipse的使用教程。简单介绍了eclipse的使用。

2018-09-03

Eclipse入门教程

eclipse的入门教程,介绍了如何使用eclipse开发java项目。

2018-08-31

JasperReport中文用户手册

JasperReport是一款开源报表引擎,用纯java编写。文档是对JasperReport的介绍。包含设计工具和模板文件等...

2018-08-30

无线wifi破解教程

简单介绍了wifi的工作原理。讲解了如何使用破解工具,搭建工作环境。使用字典破解wifi的密码。

2018-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除