JDBC
文章平均质量分 78
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 · 240 阅读 · 0 评论 -
JDBC之使用Spring提供的NamedParameterJdbcTemplate
Spring的NamedParameterJdbcTemplate:①NamedParameterJdbcTemplate内部包含了一个JdbcTemplate,所以JdbcTemplate能做的事情NamedParameterJdbcTemplate都能干; NamedParameterJdbcTemplate相对于JdbcTemplate主要增加了参数可以命名的功能。②public O原创 2017-07-30 19:01:27 · 1110 阅读 · 0 评论 -
JDBC之使用SimpleJdbcTemplate和泛型技术简化代码
Spring的SimpleJdbcTemplate:①SimpleJdbcTemplate内部包含了一个NamedParameterJdbcTemplate;所以NamedParameterJdbcTemplate能做的事情SimpleJdbcTemplate都能干,SimpleJdbcTemplate相对于NamedParameterJdbcTemplate主要增加了JDK5.0的泛型和可变原创 2017-07-30 19:05:02 · 572 阅读 · 0 评论 -
JDBC之将Dao的实现通过配置文件切换成Spring的实现
1、使用的是前面的UserDaopackage 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 · 421 阅读 · 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 · 364 阅读 · 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 · 423 阅读 · 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 · 395 阅读 · 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 · 506 阅读 · 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.Driverur原创 2017-07-26 07:42:50 · 1072 阅读 · 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 · 413 阅读 · 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 · 347 阅读 · 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 · 1045 阅读 · 0 评论 -
JDBC之使用策略模式和模板方法模式优化代码
在处理ResultSet时,不同的方法处理的方式是不一样的,但在继承的时候,rowMapper方法只能以一种方式实现,因此可以将对ResultSet处理的部分单独提取成一个抽象的部分,在不同的方法需要处理的时候,各自以自己的方式进行定义。1、定义一个策略接口RowMapperpackage cn.itcast.jdbc.dao.refactor;import java.sql.Re原创 2017-07-29 15:27:17 · 623 阅读 · 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 · 528 阅读 · 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 · 5433 阅读 · 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 · 335 阅读 · 0 评论 -
JDBC之DatabaseMetaData
1、DatabaseMetaData meta = connection.getMetaData();2、通过DatabaseMetaData可以获得数据库相关的信息如:数据库版本、数据库名、数据库厂商信息、是否支持事务、是否支持某种事务隔离级别,是否支持滚动结果集等。具体代码如下:package cn.itcast.jdbc;import java.sql.Connection;原创 2017-07-12 23:31:02 · 349 阅读 · 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 · 3055 阅读 · 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 · 686 阅读 · 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 · 298 阅读 · 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 · 241 阅读 · 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 · 478 阅读 · 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 · 900 阅读 · 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 · 3171 阅读 · 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 · 316 阅读 · 0 评论