- 浏览: 33974 次
- 性别:
- 来自: 长沙
-
最新评论
-
哈包祥明:
学习了
如何成为一个优秀的Java程序员 -
Hetal:
求解:preparestatement是如何防注入的?底层如何 ...
PrepareStatement的优势 -
joolu:
8的倍数,是后三位全0。 7的二进制是111。 楼主失误打错了 ...
如何将一个数上调至8的倍数
文章列表
DBCP是一个应用非常广泛的开源的数据源,使用起来非常简单,但是也还是有一些问题需要注意一下:
1.使用数据源时最好是通过一个工厂的静态方法创建DataSource,避免创建多个数据源。
2.使用前需要向工程中导入三个jar包,缺一不可:commons-dbcp.jar、commons-collections.jar、
commons-pool.jar,当然数据库驱动包也是必须的。这三个包都可以在www.apache.org的commons中找到。
3.创建一个数据源:
static {
try {
Properties prop = new ...
- 2009-10-03 18:16
- 浏览 993
- 评论(0)
1.一个简单的例子,根据用户名查询用户信息:
static void query(String name) {
Session session = HibernateUtil.getSession();
String queryString = "from User as user where user.id<?";
Query query = session.createQuery(queryString);
query.setString(0, name);
List<User> list = query.list();
...
- 2009-10-03 12:07
- 浏览 1513
- 评论(0)
下面的代码可以作为模板使用:
public class HibernateUtil {
private static SessionFactory sessionFactory = null;
private HibernateUtil() {
};
static {
Configuration cfg = new Configuration();
cfg.configure();
sessionFactory = cfg.buildSessionFactory();
}
public ...
- 2009-10-03 11:44
- 浏览 666
- 评论(0)
这是本人通过各种优化技巧而实现的一个经典的数据库访问层:
数据源用的事DBCP开源包。
使用Spring框架提供的JdbcTemplate替代我写的数据库访问层是一个非常不错的选择,因为我差不多是按JdbcTemplate的思想写的,不过和它比起来还是有很大的差距,所以实际项目中我也是用JdbcTemplate,而不是自己写。
public class UserDaoSpringImpl implements UserDao {
private SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(Jd ...
- 2009-10-02 11:40
- 浏览 657
- 评论(0)
基本思想:拦截Connection的close()方法,具体做法:使用代理模式来实现
核心代码:
public class MyConnection implements Connection {
private Connection realConnection;
private MyDataSource myDataSource;
MyConnection(Connection connection, MyDataSource myDataSource) {
this.realConnection = connection;
this.myDataSource ...
- 2009-09-29 12:15
- 浏览 1235
- 评论(0)
向数据库插入数据时如何获取主键
- 博客分类:
- JDBC心的
向数据库中插入数据的同时获取主键,比较推荐的方式:
String sqlStr = "insert into user(name,birthday,money) values('name1','1987-02-03',1234)";
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
int key = 0;
try {
// 建立连接
conn = JdbcUtils.getInstance().getConnection() ...
- 2009-09-26 17:36
- 浏览 960
- 评论(0)
·千万不要简单的用e.printStackTrace()抛出,这样对于上面的业务逻辑成来说是不可见,那样如果出了错也找不到是哪里的错。
·最好自定义一个DaoException的类,继承于RuntimeException
代码:
/**
* 数据库访问异常处理类
*/
package dao;
/**
*
* 2009-9-25
*
* 湖南大学 计算机与通信学院 计算机科学与技术专业
*
* @author 陈春晓
*
*/
public class DaoException extends RuntimeException {
...
- 2009-09-25 14:11
- 浏览 984
- 评论(0)
如果要把图片等二进制数据存入数据库,要把数据库中的相应字段设为“blob”,Mysql数据库是这样,其他数据库可能有所不同。
测试代码:
/**
* 图片等二进制数据的数据库插入、读取操作
*/
package test;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java. ...
- 2009-09-25 12:53
- 浏览 1610
- 评论(0)
随便建一个工程,然后导入该源码,运行即可,不过我用的是Myeclipse6.0,很好用,不知道是否适合其他版本
- 2009-09-25 09:39
- 浏览 581
- 评论(0)
PrepareStatement相对Statement的优势:
·消除SQL注入的安全漏洞
·Statement会是数据库频繁编译SQL,可能造成数据库缓冲区的溢出
·数据库和相关驱动都可以对PrepareStatement进行优化
JdbcUtils工具类:
/**
* 有关mysql数据库的工具类,单例模式SingleTon
*/
package mysql.base;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import ...
- 2009-09-24 22:35
- 浏览 1204
- 评论(1)
图标浮动的js代码
- 博客分类:
- JavaScript
//start 图标浮动
var dirX=1,dirY=1;
var xPos = 0,yPos = 0;
function displayIcon(){
//多种引用方式
float_icon.style.top=0;
document.body.all.float_icon.style.left=0;
document.body.all("float_icon").style.visibility="visible";
window.setInterval("moveIcon()& ...
- 2009-09-23 21:27
- 浏览 1650
- 评论(0)
刷新此输出流并强制写出所有缓冲的输出字节。flush 的常规协定是:如果此输出流的实现已经缓冲了以前写入的任何字节,则调用此方法指示应将这些字节立即写入它们预期的目标。
这里所说的缓存是指应用程序与IO设备之间的内存缓存区,这样做的是因为CPU读写内存的速度比读写IO设备要快得多,设置一个内存缓冲区可以提高CPU利用率。
- 2009-09-18 11:21
- 浏览 2828
- 评论(0)