java druid jdbc例子_JDBC【使用Druid连接数据库,DBUtils工具类的使用】
Druid連接數據庫,DBUtils工具類的使用
1.在maven中添加Druid依賴
com.alibaba
druid
1.2.0
2.封裝Druid連接方法
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;
public class DruidCon {
private static DruidDataSource dataSource = null;
static {
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
Properties properties = new Properties();
try {
properties.load(is);
} catch (IOException e) {
e.printStackTrace();
}
try {
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getDruidConnection() throws Exception {
Connection con = dataSource.getConnection();
return con;
}
}
3.使用自己寫的工具類進行測試
import com.jdbc.dao.BaseDao;
import com.pyc.dao.Book;
import java.sql.Connection;
import java.util.List;
public class DruidTest01 {
public static void main(String[] args) throws Exception {
//1.連接數據庫池
Connection con = DruidCon.getDruidConnection();
String sql = "select id,bname,price,publishTime from book";
List books = BaseDao.excuteSelectAll(con, Book.class, sql);
books.forEach(System.out::println);
}
}
4.使用apache的DBUtils進行測試
在maven中配置依賴
commons-dbutils
commons-dbutils
1.7
注:QueryRunner對象用來執行sql語句,ResultSetHandler的具體實現類用來存儲結果集數據
ResultSetHandler的實現類:
import com.pyc.dao.Book;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
public class DruidTest02 {
public static void main(String[] args) {
Connection con = null;
try {
//1.獲取數據庫連接
con = DruidCon.getDruidConnection();
//2.創建QueryRunner對象
QueryRunner runner = new QueryRunner();
String sql = "insert into book(bname,price,publishTime) values(?,?,?)";
//3.創建對應ResultSetHandler的實現類
//創建一個BeanHandler用于存儲插入數據,該實現類是存儲自定義對象的
//插入一條數據
BeanHandler beanHandler = new BeanHandler(Book.class);
Book book = runner.insert(con, sql, beanHandler, "演員的自我休養", 39.9, new Date(52213165461L));
System.out.println("成功插入了" + book);
//查詢一條數據
BeanHandler beanHandler2 = new BeanHandler(Book.class);
String sql2 = "select id,bname,price,publishTime from book where id=?";
Book book1 = runner.query(con, sql2, beanHandler2, 20);
System.out.println(book1);
//查詢所有數據
BeanListHandler bookBeanListHandler = new BeanListHandler<>(Book.class);
String sql3 = "select id,bname,price,publishTime from book";
List bookList = runner.query(con, sql3, bookBeanListHandler);
bookList.forEach(System.out::println);
//特殊查詢
ScalarHandler scalarHandler = new ScalarHandler();
String sql4 = "select count(*) from book";
Long bookNum = runner.query(con,sql4, scalarHandler);
System.out.println(bookNum);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
//5.關閉資源
DbUtils.close(con);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
總結
以上是生活随笔為你收集整理的java druid jdbc例子_JDBC【使用Druid连接数据库,DBUtils工具类的使用】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ntsd -d
- 下一篇: 第二十六期:HTTP 3的前世今生及尝鲜