JDBC技术
文章平均质量分 79
fsgsdfghdfh
这个作者很懒,什么都没留下…
展开
-
JDBC简述
JDBC(Java Data Base Connectivity,java数据库连接),由一些接口和类构成的API。J2SE的一部分,由java.sql,javax.sql包组成。连接数据的步骤l 注册驱动 (只做一次)1,Class.forName(“com.mysql.jdbc.Driver”); 推荐这种方式,不会对具体的驱动类产生依赖。2,DriverManage...2009-04-19 17:20:59 · 122 阅读 · 0 评论 -
了解事务的隔离级别
隔离级别多线程并发读取数据时的正确性用法:connnection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); 隔离级别 脏读 不可重复读 幻读 读未提交(Read uncommitted)VVV...2009-04-20 13:05:31 · 103 阅读 · 0 评论 -
我的JDBC实例
1, 首先在配置文件(system.properties)中配置上如下内容:driver=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver://localhost:1433;databaseName=mpusername=sapassword=mengya2, 写了个SQLDB的工具类publi...2009-04-20 13:06:41 · 67 阅读 · 0 评论 -
用JDBC访问大段文本数据
JDBC操作大的文本数据是通过IO字符流操作 public class ClobTest { public static void main(String[] args) throws SQLException, IOException { // create(); read(); } 查询: static vo...2009-04-20 13:07:27 · 108 阅读 · 0 评论 -
用JDBC访问二进制类型的数据
JDBC操作二进制类型数据(如图片或压缩包)也是通过IO字节流形式操作 public class BlobTest { public static void main(String[] args) throws SQLException, IOException { // create(); read(); } //查询...2009-04-20 13:08:05 · 122 阅读 · 0 评论 -
使用反射技术构造对象
public class Bean { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String ...2009-04-20 22:54:25 · 79 阅读 · 0 评论 -
使用反射技术调用对象的方法,得到属性,方法等信息
package com.mengya.test; import java.util.Date;public class User { private int id; private String name; private Date birthday; private float money; public User() { ...2009-04-20 22:55:01 · 141 阅读 · 0 评论 -
使用反射实现ORM
首先Bean在符合JavaBean的要求,即有一个无参的构造方法,所有属性都有一个set和get方法并且set与get方法是set/get+属性名称(属性名称先字母大写)public class User { private int id; private String name; private Date birthday; priv...2009-04-20 22:55:42 · 123 阅读 · 0 评论 -
模板设计模式_构建公共通用的Dao
核心代码:Connection的工具类:详见:JDBC数据库连接StuDao的接口:public interface StuDaointer { public void addStu(Stu stu); public void delStu(int sid); public void updStu(Stu stu); public Stu getOneStu(int sid); pub...2009-04-23 09:02:00 · 105 阅读 · 0 评论 -
策略设计模式_构建公共通用的Dao
核心代码:Connection的工具类:详见JDBC数据库连接StuDao的接口:public interface StuDaointer { public void addStu(Stu stu); public void delStu(int sid); public void updStu(Stu stu); public Stu getOneStu(int sid); pu...2009-04-23 09:09:29 · 128 阅读 · 0 评论 -
使用Spring的JdbcTemplate和BeanPropertyRowMapper完成的JDBC
先道要加上两个包:Spring2.5下面的: spring.jar和commons-logging.jar我用的DBCP数据源,Connection工具类我就没写了具体的实例说明: public class StuDaoImple implements StuDaointer { private JdbcTemplate jdbctemp = null; ...2009-04-23 16:55:43 · 767 阅读 · 0 评论 -
使用Spring的NamedParameterJdbcTemplate完成DAO操作
NamedParameterJdbcTemplate内部包含了一个JdbcTemplate,所以JdbcTemplate能做的事情NamedParameterJdbcTemplate都能干,NamedParameterJdbcTemplate相对于JdbcTemplate主要增加了参数可以命名的功能。public Object queryForObject(String sql, Map pa...2009-04-24 09:18:37 · 400 阅读 · 0 评论 -
使用Spring的SimpleJdbcTemplate完成DAO操作
SimpleJdbcTemplate内部包含了一个NamedParameterJdbcTemplate;所以NamedParameterJdbcTemplate能做的事情SimpleJdbcTemplate都能干,SimpleJdbcTemplate相对于NamedParameterJdbcTemplate主要增加了JDK5.0的泛型和可变长度参数支持。public <T>...原创 2009-04-24 09:35:40 · 131 阅读 · 0 评论 -
可滚动结果集与分页技术
可滚动的结果集 Statement st = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = st.executeQuery(sql); rs.beforeFirs...2009-04-20 13:04:57 · 132 阅读 · 0 评论 -
可更新和对更新敏感的结果集
可更新的结果集(说明这些都是JDBC特殊的用法,有些数据库可能不支持) conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); rs.updateString("col name", "...2009-04-20 13:04:10 · 182 阅读 · 0 评论 -
SQL注入,PreparedStatement和Statement
在SQL中包含特殊字符或SQL的关键字(如:' or 1 or ')时Statement将出现不可预料的结果(出现异常或查询的结果不正确),可用PreparedStatement来解决。PreperedStatement(从Statement扩展而来)相对Statement的优点: 1.没有SQL注入的问题。 2.Statement会使数据库频繁编译SQL,可能...2009-04-20 13:01:00 · 97 阅读 · 0 评论 -
DAO层的异常处理
DAO层的异常最好是让上一层知道,这样就可以使上一层知道出错是否还进行下一步操作.首先看看我们的项目的架构:Com.mengya.dao.innter接口层(只定义方法): public void addUser(User user); public User getUser(int userId); public User findUser(Strin...2009-04-19 17:25:09 · 1374 阅读 · 0 评论 -
DAO工厂模式
首先在src下面新建一个配置文件daoconfig.properites内容如下:userDaoClass=com.mengya.dao.impl.UserDaoJdbcImplDaoFactory类的内容如下:public class DaoFactory { private static UserDao userDao = null; //UserDao是User...2009-04-20 12:49:06 · 158 阅读 · 0 评论 -
DatabaseMetaData查看数据库信息
DatabaseMetaData meta = connection.getMetaData();通过DatabaseMetaData可以获得数据库相关的信息如:数据库版本、数据库名、数据库厂商信息、是否支持事务、是否支持某种事务隔离级别,是否支持滚动结果集等。public class DBMD { public static void main(String[] args) t...2009-04-20 12:49:44 · 133 阅读 · 0 评论 -
JDBC的批处理功能
批处理,可以大幅度提升大量增、删、改的速度。PreparedStatement.addBatch();//批量添加PreparedStatement.executeBatch();//批量更新 public class BatchTest { public static void main(String[] args) throws SQLException {...2009-04-20 12:50:20 · 82 阅读 · 0 评论 -
JDBC调用存储过程
JDBC调用存储过程CallableStatement(从PreperedStatement扩展来)cs = connection.prepareCall(“{call psname(?,?,?)}”);cs.registerOutParameter(index, Types.INTEGER);//注册存储过程的输出参数cs.setXXX(i, xxxx);cs.execute...2009-04-20 12:50:56 · 82 阅读 · 0 评论 -
JDBC日期类型
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Date; public class DateTest...2009-04-20 12:51:29 · 154 阅读 · 0 评论 -
JDBC事务
事务(ACID)特点:l 原子性(atomicity):组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。 l 一致性(consistency):在事务处理执行前后,数据库是一致的(数据库数据完整性约束)。 l 隔离性(isolcation):一个事务处理对另一个事务处理的影响。 l 持续性(durability):事务处...2009-04-20 12:52:04 · 71 阅读 · 0 评论 -
JDBC事务保存点,即事部分回滚
JDBC中的事务保存点,即事务发生回滚的时候,回滚到保存点那里去,事务开始到保存点之间的操作不用回滚.事务(SavePoint)l 当只想撤销事务中的部分操作时可使用SavePointl SavePoint sp = connection.setSavepoint();l connection.rollerbak(sp); //回滚到那个事务点上...2009-04-20 12:52:49 · 166 阅读 · 0 评论 -
JDBC工具类实例
System.properties配置文件(放在src下面)driver=com.microsoft.sqlserver.jdbc.SQLServerDriver url=jdbc:sqlserver://localhost:1433;DatabaseName=mp username=sa password=sa JDBC连接工具类(单例模式)public final ...2009-04-20 12:53:32 · 72 阅读 · 0 评论 -
JDBC自动获取数据库自动生成的主键
PreparedStatement.getGeneratedKeys() //得到执行添加操作后自动生成的主键值 PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.executeUpdate();ResultSet rs = s...2009-04-20 12:55:57 · 143 阅读 · 0 评论 -
ParameterMetaData的使用
ParameterMetaData pmd = preparedStatement.getParameterMetaData();通过 ParameterMetaData可以获得参数信息。public class ParameterMetaTest { public static void main(String[] args) throws SQLException {...2009-04-20 12:59:34 · 1498 阅读 · 1 评论 -
ResultSetMetaData的使用
ResultSetMetaData能够通过ResultSet分析出结果集的元素。 ResultSetMetaData meta = rs.getMetaData();通过ResultSetMetaData可以获得结果有几列、各列名、各列别名、各列类型等。 可以将ResultSet放入Map(key:列名 value:列值)。用反射ResultSetMetaData将查询结果读入...2009-04-20 13:00:21 · 319 阅读 · 0 评论 -
高级 DAO 编程 学习编译更好的 DAO 的技巧
高级 DAO 编程学习编译更好的 DAO 的技巧J2EE 开发人员使用数据访问对象(Data Access Object DAO)设计模式,以便将低级别的数据访问逻辑与高级别的业务逻辑分离。实现 DAO 模式涉及比编写数据访问代码更多的内容。在本文中,Java 开发人员 Sean C. Sullivan 讨论了 DAO 编程中三个常常被忽略的方面:事务界定、异常处理和日志记录。图 1 显示了应...原创 2009-04-27 20:09:26 · 193 阅读 · 0 评论