前言:
首先申明,我不是什么技术大牛,我只是希望我在记笔记的同时,能帮助到需要帮助的人!
1.安装JDK
2.安装IDE(eclipse,MyEclipse) java 集成开发环境
3.安装JDBC,数据库驱动 下载链接 此版本为5.1.8
新建一个工具类 DBUtil 类
代码如下
package com.njcit.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {
private static String url = "jdbc:mysql://localhost:3306/office?useUnicode=true&characterEncoding=utf-8";//向数据库传输数据的时候会出现编码问题用这个解决:useUnicode=true&characterEncoding=utf-8
private static String user = "****";//连接数据库的用户名
private static String password = "****";//连接数据库的密码
private static String DBDRIVER = "com.mysql.jdbc.Driver";
public static Connection getConnection(){
Connection conn = null;
try {
try {
Class.forName(DBDRIVER) ;
System.out.println("加载驱动成功") ;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn= DriverManager.getConnection(url, user, password);
System.out.println("连接成功") ;
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void close(Connection conn){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Connection conn,PreparedStatement stmt){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Connection conn,PreparedStatement stmt,ResultSet rs){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//测试连接是否成功
// public static void main(String[] args) {
//
// System.out.println(DBUtil.getConnection());
// }
}
如何在其他类里面用到这个工具类呢
//这是一个实现类
public class ApprovalImpDao{
public List<Approval> findAll() {
List<Approval> list =new ArrayList<Approval>();
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = DBUtil.getConnection();//这边就是得到连接数据库
String sql = "select * from approval";
stmt = (PreparedStatement) conn.prepareCall(sql);
ResultSet rs = stmt.executeQuery();
while(rs.next()){
Approval a = new Approval();
a.setApprove_type(rs.getString(1));
a.setApprove_reason(rs.getString(2));
a.setApprove_start(rs.getTimestamp(3));
a.setApprove_end(rs.getTimestamp(4));
a.setAppperson(rs.getString(6));
a.setId(rs.getInt(7));
a.setStatus(rs.getString(9));
a.setAppperson(rs.getString(15));
list.add(a);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtil.close(conn, stmt);
}
return list;
}
}
再来个测试类
public class Test {
public static void main(String[] args) {
ApprovalDao dao = new ApprovalImpDao();
List<Approval> list = dao.findAll();
if (list.size()>0) {
for (int i = 0; i < list.size(); i++) {
Approval a = list.get(i);
HashMap<String, String> hsahMap = new HashMap<String, String>();
hsahMap.put("type", a.getApprove_type());
hsahMap.put("reason", a.getApprove_reason());
jsonArray.add(hsahMap);
}
System.out.println("打印出从数据库获取出来的值:"+jsonArray);
}
}
}
}