JDBC
文章平均质量分 81
Nazarite_KakaLuoTo
我是一个性格比较内向,有点技术宅,热爱编程,读书,健身,泰拳等。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JDBC之批处理数据
批处理,可以大幅度提升大量增、删、改的速度,当然这也看具体的数据库驱动的实现。 package cn.itcast.jdbc; import java.sql.Connection; import java.sql.Date; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExc原创 2017-07-10 18:07:26 · 311 阅读 · 0 评论 -
JDBC之使用Spring提供的NamedParameterJdbcTemplate
Spring的NamedParameterJdbcTemplate: ①NamedParameterJdbcTemplate内部包含了一个JdbcTemplate,所以JdbcTemplate能做的事情NamedParameterJdbcTemplate都能干; NamedParameterJdbcTemplate相对于JdbcTemplate主要增加了参数可以命名的功能。 ②public O原创 2017-07-30 19:01:27 · 1241 阅读 · 0 评论 -
JDBC之使用SimpleJdbcTemplate和泛型技术简化代码
Spring的SimpleJdbcTemplate: ①SimpleJdbcTemplate内部包含了一个NamedParameterJdbcTemplate;所以NamedParameterJdbcTemplate能做的事情SimpleJdbcTemplate都能干,SimpleJdbcTemplate相对于NamedParameterJdbcTemplate主要增加了JDK5.0的泛型和可变原创 2017-07-30 19:05:02 · 671 阅读 · 0 评论 -
JDBC之将Dao的实现通过配置文件切换成Spring的实现
1、使用的是前面的UserDao package cn.itcast.jdbc.dao; import cn.itcast.jdbc.domain.User; /** * 针对用户的Dao */ public interface UserDao { /** * 添加用户 */ public void addUser(User user); /** * 根据id查原创 2017-07-30 19:11:39 · 498 阅读 · 0 评论 -
JDBC之设立事务的保存点
在事务处理的过程中,我们可能并不需要回滚所有的内容,而只是需要回滚其中一部分,这就需要设立事务的保存点作为标志。 具体代码如下(测试成功): package cn.itcast.jdbc; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql原创 2017-07-09 22:46:47 · 448 阅读 · 0 评论 -
JDBC之访问二进制类型的数据
第一步:创建表 DROP TABLE IF EXISTS `blob_test`; CREATE TABLE `blob_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `big_bit` blob COMMENT '二进制数据', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DE原创 2017-07-09 22:41:04 · 516 阅读 · 0 评论 -
JDBC之调用存储过程
第一步:定义存储过程(注意:不同MySQL定义存储过程语法有差异) DELIMITER $$ DROP PROCEDURE IF EXISTS `jdbc`.`addUser` $$ CREATE PROCEDURE `jdbc`.`addUser` (IN `pname` varchar(45),IN `birthday` date,IN `money` float,OUT `pid` int原创 2017-07-09 23:38:50 · 459 阅读 · 0 评论 -
JDBC之实现一个最基本的数据库连接池
一、自定义一个数据库连接池 package cn.itcast.jdbc.datasource; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.LinkedList; /** * 自定义数据库连接池 */ public cl原创 2017-07-23 15:47:44 · 598 阅读 · 0 评论 -
JDBC之使用DBCP数据源获取数据库连接
一、导入如下三个jar包,并添加到类路径 commons-dbcp-1.2.1.jar, commons-pool-1.2.jar, commons-collections-3.1.jar,注意除了这三个jar包,还需要数据库的驱动jar包。 二、在类路径下编写dbcpconfig.properties文件 driverClassName=com.mysql.jdbc.Driver ur原创 2017-07-26 07:42:50 · 1174 阅读 · 0 评论 -
JDBC之使用继承简化代码量
1、新建一个名为AbstractDao的抽象类 package cn.itcast.jdbc.dao.refactor; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import cn.itcast原创 2017-07-29 10:54:11 · 490 阅读 · 0 评论 -
JDBC之使用模板方法模式优化查询方法
1、在超类中定义模板方法,留给子类实现 package cn.itcast.jdbc.dao.refactor; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import cn.itcast.jdb原创 2017-07-29 12:14:43 · 428 阅读 · 0 评论 -
JDBC之使用Spring提供的JdbcTemplate进行数据库操作
Spring的JdbcTemplate: ①查询带有参数,和行映射方法: public Object queryForObject(String sql, Object[] args, RowMapper rowMapper),使用自定义的UserRowMapper完成映射。 ②一个RowMapper的常用实现BeanPropertyRowMapper,该实现可将结果集转换成一个Java B原创 2017-07-30 09:32:40 · 1143 阅读 · 0 评论 -
JDBC之使用策略模式和模板方法模式优化代码
在处理ResultSet时,不同的方法处理的方式是不一样的,但在继承的时候,rowMapper方法只能以一种方式实现,因此可以将对ResultSet处理的部分单独提取成一个抽象的部分,在不同的方法需要处理的时候,各自以自己的方式进行定义。 1、定义一个策略接口RowMapper package cn.itcast.jdbc.dao.refactor; import java.sql.Re原创 2017-07-29 15:27:17 · 733 阅读 · 0 评论 -
JDBC之大段文本数据的保存与读取
1、创建数据库测试表 DROP TABLE IF EXISTS `clob_test`; CREATE TABLE `clob_test` ( `id` int(10) NOT NULL AUTO_INCREMENT, `big_text` text COMMENT '大文本', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2原创 2017-07-07 10:50:11 · 605 阅读 · 0 评论 -
JDBC之获取插入语句返回的主键
该获取主键并不是绝对的,也和具体的数据库实现的驱动有关。 package cn.itcast.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement原创 2017-07-10 18:00:02 · 5623 阅读 · 0 评论 -
JDBC之第一个较为规范的JDBC程序
1、工具类的设计,设计成final,不被继承 package cn.itcast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** *原创 2017-07-02 16:11:04 · 383 阅读 · 0 评论 -
JDBC之DatabaseMetaData
1、DatabaseMetaData meta = connection.getMetaData(); 2、通过DatabaseMetaData可以获得数据库相关的信息如:数据库版本、数据库名、数据库厂商信息、是否支持事务、是否支持某种事务隔离级别,是否支持滚动结果集等。 具体代码如下: package cn.itcast.jdbc; import java.sql.Connection;原创 2017-07-12 23:31:02 · 484 阅读 · 0 评论 -
JDBC之ParameterMetaData
1、ParameterMetaData pmd = preparedStatement.getParameterMetaData(); 2、通过 ParameterMetaData可以获得参数信息。 JdbcUtils中的代码: package cn.itcast.jdbc; import java.sql.Connection; import java.sql.DriverManager原创 2017-07-12 23:33:35 · 3256 阅读 · 1 评论 -
JDBC之使用懒汉式单例创建JDBC工具类
JdbcUtilsSingleton代码如下: package cn.itcast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** *原创 2017-07-05 18:07:20 · 749 阅读 · 0 评论 -
JDBC之最基本的CRUD操作
一、JDBC工具类中的代码 package cn.itcast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * Jdbc工具类原创 2017-07-05 19:08:15 · 377 阅读 · 0 评论 -
JDBC之SQL注入,PreparedStatement和Statement
1、在SQL中包含特殊字符串或SQL的关键字(如:’or 1 or’)时,Statement将出现不可预料的结果(出现异常或查询的结果不正确),可用PreparedStatement来解决。 2、PreparedStatement(从Statement扩展而来)相对Statement的优点: ①没有SQL注入的问题; ②Statement会使数据库频繁编译SQL,可能造成数据库缓原创 2017-07-05 20:42:37 · 348 阅读 · 0 评论 -
JDBC之日期问题
在Java中有两个日期类型(当然JDK8还新增java.time.LocalDate),一个是java.sql.Date,另一个是java.util.Date类,其中java.sql.Date类继承自java.util.Date类。同时需要注意的是,java.sql.Date只包含日期,而java.util.Date还包含时间。 测试类中的代码: package cn.itcast.jdb原创 2017-07-05 22:00:22 · 581 阅读 · 0 评论 -
JDBC之ResultSetMetaData
1、ResultSetMetaData meta = rs.getMetaData(); 2、通过ResultSetMetaData可以获得结果有几列、各列名、各列别名、各列类型等。 3、可以将ResultSet放入Map(key:列名 value:列值)。 具体代码如下: package cn.itcast.jdbc; import java.sql.Connection; impo原创 2017-07-15 20:34:27 · 1025 阅读 · 0 评论 -
JDBC之利用反射技术将查询结果封装为对象
1、User.java中的代码 package cn.itcast.jdbc.domain; import java.util.Date; /** * 用户对象 */ public class User { private int id; private String name; private Date birthday; private float money; publ原创 2017-07-16 13:40:33 · 3314 阅读 · 0 评论 -
Mybatis之对原生态JDBC程序中问题总结(1)
一、环境 JDK1.8、MyEclipse2014、MySQL5.6 创建MySQL数据库。 最终导入脚本内容如下: /* SQLyog v10.2 MySQL - 5.1.33-community : Database - mybatis ******************************************************************原创 2017-11-19 22:14:53 · 394 阅读 · 0 评论
分享