JDBC——段階的総括
1、JDBCワークフロー jar依存を追加 Class.forName(「駆動」) Connection con=DriverManager.getConnection(url,username,pwd); PrepareStatement ps=con.PrepareStatement(sql); Ps.setString(1,””); Insert update delete--- int ret=ps.executeUpdate(); Select ---ResultSet rs=ps.executeQuery(); 結果セットResultSet を巡回リソースを閉じてから作成された を閉じます.
2、工具類を封入した
3、データソース、接続プール
Druid c3p0
階層開発利用MVCモード:dao service controllers
2、工具類を封入した
public class DruidUtils {
private static DruidDataSource dataSource=null;
private static ThreadLocal threadLocal;
static{
//1
try {
threadLocal=new ThreadLocal<>();
InputStream is = DruidUtils.class.getClassLoader().getResourceAsStream("database.properties");
Properties properties=new Properties();
properties.load(is);
dataSource= (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
System.out.println(" ....");
//
}
}
//
public static DataSource getDataSource(){
return dataSource;
}
//
public static Connection getConnection() throws SQLException {
Connection conn=threadLocal.get(); //Thread.curentThread;
if(conn==null){
conn=dataSource.getConnection();
// threadLocal
threadLocal.set(conn);
}
return conn;
}
//
public static void beginTransaction() throws SQLException{
Connection conn = getConnection();
conn.setAutoCommit(false);
}
//
public static void commit() throws SQLException{
Connection conn = getConnection();
conn.commit();
}
//
public static void roolback() throws SQLException{
Connection conn = getConnection();
conn.rollback();
}
//
public static void close() throws SQLException{
Connection conn = getConnection();
conn.close();
threadLocal.remove();
}
}
3、データソース、接続プール
Druid c3p0
階層開発利用MVCモード:dao service controllers