
数据库+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 · 805 阅读 · 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 · 698 阅读 · 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 · 573 阅读 · 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 · 479 阅读 · 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 · 3946 阅读 · 0 评论 -
JDBC入门
java程序模拟JDBC 建立一个接口代表jdbc package 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 · 1132 阅读 · 0 评论 -
数据库操作语句5
CREATE DATABASE shop_db CREATE 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 · 539 阅读 · 0 评论 -
数据库操作语句4
#表复制 CREATE TABLE tab01( id INT, `name` VARCHAR(32), sal DOUBLE, job VARCHAR(32), deptno INT) #显示表的结构 DESC tab01 SELECT *FROM tab01 #把emp表的记录复制到tab01 INSERT INTO tab01(id,`name`,sal,job,deptno) SELECT empno,ename,sal,job,deptno FROM emp #自我复制 INS.原创 2022-03-14 15:43:20 · 1220 阅读 · 0 评论 -
数据库操作语句3
#日期函数 #查询当前日期和时间 SELECT CURRENT_DATE() FROM DUAL SELECT CURRENT_TIME() FROM DUAL SELECT CURRENT_TIMESTAMP FROM DUAL CREATE 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 · 477 阅读 · 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 · 1040 阅读 · 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 · 489 阅读 · 0 评论