链接数据库程序

ytyytryrtyryr 2016-04-18 08:28:30
新手
我看不明白这个DB.java程序
可不可帮我在旁边加上注释
谢谢各位好汉!!

package org.bs.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DB {
public static Connection getConn() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
String url = "jdbc:mysql://localhost/database?useUnicode=true&characterEncoding=utf8";
Connection conn = null;
try {
conn = DriverManager.getConnection(url, "root", "root");
conn.setAutoCommit(false);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

public static void close(PreparedStatement pstmt) {
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

public static void close(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

public static void close(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

public static void commit(Connection conn) {
if (conn != null) {
try {
conn.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

public static void rollback(Connection conn) {
if (conn != null) {
try {
conn.rollback();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}



另外可不可告诉我这个JDBCHandler.java 程序的作用功能
package org.bs.utils;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.sql.Connection;

public class JDBCHandler<T> implements InvocationHandler {

private T target = null;

public T createProxy(Object target) {
this.target = (T) target;
return (T) Proxy.newProxyInstance(target.getClass().getClassLoader(),
target.getClass().getInterfaces(), this);
}

public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Connection conn = ConnContext.getConn();
Object result = null;
try {
result = method.invoke(target, args);
DB.commit(conn);
} catch (Exception e) {
DB.rollback(conn);
e.printStackTrace();
} finally {
DB.close(conn);
}
ConnContext.remove();
return result;
}
}
...全文
100 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
EverWHL 2016-04-20
  • 打赏
  • 举报
回复
初始化,提交事务,失败回滚
ytyytryrtyryr 2016-04-20
  • 打赏
  • 举报
回复
那JDBCHandler.java 这个程序有什么用呢
wonezm 2016-04-19
  • 打赏
  • 举报
回复
这是数据库驱动加载、数据库连接、数据库查询返回、一些相关对象关闭设置,你可以百度下java.编写数据库连接代码

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧