数据库+JDBC+连接池
数据库
1while(true){learn}
日常笔记
展开
-
Mysql刷题总结
not in不是目标范围中的一个例如:183. 从不订购的客户 - 力扣(LeetCode) (leetcode-cn.com)select name as 'Customers' from customers where customers.id not in (select customerid from orders)查询的结果中有自己创建的列,bonus不存在于原表中if的用法select employee_id,if(employee_id%2!=..原创 2022-05-01 10:05:27 · 715 阅读 · 0 评论 -
commons-dbutils和BasicDao
概述commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的封装,使用dbutilsi能极大简化jdbc编码的工作量DbUtils类1.QueryRunner类:该类封装了SQL的执行,是线程安全的。可以实现增、删、改、查、批处理2.使用QueryRunner类实现查询3.sultSetHandler接口:该接口用于处理java.sql.ResultSet,将数据按要求转换为另一种形式常用方法ArrayHandler:把结果集中的第一行数据转成原创 2022-04-07 20:30:25 · 633 阅读 · 1 评论 -
C3P0连接池和德鲁伊连接池
连接C3P0方式1 手动连接 @Test //方式1 手动连接 public void C3P0_01() throws PropertyVetoException, SQLException { ComboPooledDataSource cps = new ComboPooledDataSource(); cps.setJdbcUrl(JDBCUtils.getUrl()); cps.setUser(JDBCUtils.get.原创 2022-04-07 16:31:18 · 524 阅读 · 0 评论 -
事务,批处理,连接池概述
1.JDBC程序中当一个Connection对象创建时,默认情况下是自动提交事务:每次执行一个SQL语句时,如果执行成功,就会向数据库自动提交,而不能回滚。2.JDBC程序中为了让多个SQL语句作为一个整体执行,需要使用事务3.调用Connection的setAutoCommit(false)可以取消自动提交事务4.在所有的SQL语句都成功执行后,调用Connection.commit0:方法提交事务5.在其中某个操作失败或出现异常时,调用Connection.rollback0:方法回滚事务转原创 2022-04-05 16:46:35 · 385 阅读 · 0 评论 -
Statement,API,工具类
1.Statement对象用于执行静态SQL语句并返回其生成的结果的对象2.在连接建立后,需要对数据库进行访问,执行命名或是SQL语句,可以通过Statement[存在SQL注入],PreparedStatement[预处理],CallableStatement[存储过程]3.Statementj对象执行SQL语句,存在SQL注入风险4.SQL注入是利用某些系统没有对用户输入的数据进行充分的检查,而在用户输入数据中注入非法的SQL语句段或命令,恶意攻击数据库。sql injection.sql原创 2022-04-04 20:24:52 · 3859 阅读 · 0 评论 -
JDBC入门
java程序模拟JDBC建立一个接口代表jdbcpackage JDBC;/** * @author whlie(true){learn} * 规定的JDBC连接方法 */public interface Interface { //连接 public void Connect(); //操作 public void crud(); //关闭 public void close();}编写Mysql类代表mysql...原创 2022-04-03 19:03:42 · 1088 阅读 · 0 评论 -
数据库操作语句5
CREATE DATABASE shop_dbCREATE TABLE goods( goods_id INT PRIMARY KEY, goods_name VARCHAR(32), unitprice DOUBLE CHECK(unitprice>1.0 AND unitprice<9999.99), categroy VARCHAR(32), provider VARCHAR(32))CREATE TABLE customer( customer_id INT PR.原创 2022-03-19 20:41:58 · 504 阅读 · 0 评论 -
数据库操作语句4
#表复制CREATE TABLE tab01( id INT, `name` VARCHAR(32), sal DOUBLE, job VARCHAR(32), deptno INT)#显示表的结构DESC tab01SELECT *FROM tab01#把emp表的记录复制到tab01INSERT INTO tab01(id,`name`,sal,job,deptno) SELECT empno,ename,sal,job,deptno FROM emp#自我复制INS.原创 2022-03-14 15:43:20 · 1183 阅读 · 0 评论 -
数据库操作语句3
#日期函数#查询当前日期和时间SELECT CURRENT_DATE() FROM DUALSELECT CURRENT_TIME() FROM DUALSELECT CURRENT_TIMESTAMP FROM DUALCREATE TABLE ems( id INT, content VARCHAR(32), send_time DATETIME); #NOW()和CURRENT_TIMESTAMP()的作用一样INSERT INTO ems VALUES(1,'北京新闻',C.原创 2022-03-14 15:40:55 · 426 阅读 · 0 评论 -
数据库操作语句2
CREATE DATABASE wzg_db02#创建表CREATE TABLE `goods`( id INT, goods_name VARCHAR(32), price DOUBLE);INSERT INTO goods VALUES(01,'多兰剑',450);INSERT INTO goods VALUES(02,'多兰盾',450);SELECT * FROM goods#修改表,如果后面没有where就是修改整个列UPDATE goods SET price = 5.原创 2022-03-13 20:23:11 · 999 阅读 · 0 评论 -
数据库操作语句1
库操作#创建库,数据库名用``括起来可以规避关键字CREATE DATABASE wzg_db01#创建库并指定字符集和校验规则CREATE DATABASE wzg_db01 CHARACTER utf8 COLLATE utf8_bin#删除库DROP DATABASE wzg_db01 #查询指定数据库的定义信息SHOW CREATE DATABASE wzg_db01#备份数据库在DOS下执行mysqldump -u root -p -B test01 >d:\原创 2022-03-10 20:03:06 · 457 阅读 · 0 评论