JDBC
不想起名的筱祎
这个作者很懒,什么都没留下…
展开
-
JDBC_连接池 ——恋天小结
连接池介绍数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能应用场景场景一:电商网站如淘宝、京东每年都会有双11这种活动,同一时刻,会有上亿甚至上十亿的用户访问数据库(因为要生成订单等数据),如果我们还使用上面的思路,显然是捉襟见肘。场景二:某服务器上除了运行MYSQL服务,还有其他一些服务比如WEB服务。我原创 2020-08-08 21:19:49 · 75 阅读 · 0 评论 -
JDBC_Properties优化硬代码 ——恋天小结
Properties优化硬代码如上,我们项目开发完成测试通过后,通常是要打包发布给别人使用的,如果我们把一些配置信息写死到代码中(这种行为叫硬编码,hardcode),别人就无法修改了比如别人使用的MySQL服务器对应的IP是10.0.0.1,端口号是9300,用户名是mysqluser、密码是123456。那么我们只能改代码再重新打包发布,如果有多个用户,他们对应的配置信息都不同,那么我们要针对不同的用户打包发布多次。以上显然是没必要的,因为我们开发的是程序,只要业务需求/逻辑不变,我们就无需多原创 2020-08-08 21:16:04 · 218 阅读 · 0 评论 -
JDBC_SQL注入 ——恋天小结
SQL注入所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据 库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。先模拟应用场景导入示例数据DROP TABLE IF EXISTS t_user;CREATE TABLE t_user (id int(11) N原创 2020-08-08 21:11:10 · 92 阅读 · 0 评论 -
JDBC_事务 ——恋天小结
事务机制管理 Transaction事务机制管理 默认情况下,是执行一条SQL语句就保存一次,那么比如我需要 有三条数据同时成功同时失败,这个时候就需要开启事务机制了如果开启事务机制,执行中发生问题,会回滚到没有操作之前,相当于什么也没有发生过没有事务处理的操作 Connection conn = null; PreparedStatement prst = null; Statement stmt = null; try { conn = DBUtil.g原创 2020-08-08 20:56:40 · 73 阅读 · 0 评论 -
JDBC_Batch多语句操作 ——恋天小结
Batch多语句操作在一次任务中,执行多条数据Statement实现 Connection conn = null; Statement stmt = null; try { conn = DBUtil.getConnection(); stmt = conn.createStatement(); stmt.addBatch("insert into test_jdbc (id,name,money) values(21,'stmt多条测试1',99.12)"); s原创 2020-08-08 20:49:29 · 118 阅读 · 0 评论 -
JDBC_封装工具类 ——恋天小结
封装工具类主要针对2个方面进行改进封装。以下的代码我们每个方法中都会重复一次,这是没必要的,因为不同的方法其实只是具体执行的SQL语句的内容不同,对于获取连接与释放资源,对应的逻辑是相同的。我们完全可以把这一段逻辑抽取出来,形成独立的类与方法,再在实际应用时调用对应的类和方法就可以了。2 关闭资源这些创建链接这些可以这样进行优化public static Connection getConnection() throws ClassNotFoundException, SQLExcept原创 2020-08-08 20:30:36 · 97 阅读 · 0 评论 -
JDBC_PrepardStatement ——恋天小结
PreparedStatement添加或者更新的时候,尽量使用 PreparedStatement ,而不是使用StatementStatement 和 PreparedStatement 的区别Statement用于执行静态SQL语句,在执行的时候,必须指定一个事先准备好的SQL语句,并且相对不安全,会有SQL注入的风险PreparedStatement是预编译的SQL语句对象,sql语句被预编译并保存在对象中, 被封装的sql语句中可以使用动态包含的参数 ? ,在执行的时候,可以为?传递参数原创 2020-08-08 20:29:20 · 157 阅读 · 0 评论 -
JDBC_DML_statement ——恋天小结
DMLData Manipulation Language : 数据操作语言涉及的关键字有 : delete,update,insert和查询的操作几乎一样,就是把第4步和第5步更改一下 Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 1 加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 2 创建数据库连接对象 c原创 2020-08-08 20:27:04 · 237 阅读 · 0 评论 -
JDBC介绍以及使用步骤 ——恋天小结
1. JDBC介绍 我们之前学习MYSQL时,为了使用MYSQL服务,我们通常要使用客户端与MYSQL服务进行连接,然后才能输入SQL语句进行数据库的各种操作。客户端有命令行与图形界面2种。 但是在更多的环境下,由我们人直接操作数据是很低效的,比如双11这种业务场景下,一秒中往往要在库中生成上千万甚至几亿条数据,靠人来手工操作是不现实的,只能依赖于程序进行这种高并发的操作。 程序语言有多种,比如Java、Python、C/C++等,程序语言如果想执行SQL语句,也必须要先与数据库进行原创 2020-08-07 21:34:37 · 99 阅读 · 0 评论