Java连接数据库,及增删改查

自定义连接数据库的util类

package com.shuzf.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class JDBCUtil {
// 定义驱动器类的路径
private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
// 定义用于连接数据库的URL
private static final String URL = "jdbc:oracle:thin****l";
// 定义用于访问数据库的用户名及密码
private static final String USERNAME = "s****t";
private static final String PASSWORD = "t***r"; // 加载驱动器类
static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} // 定义获得连接的方法
public static Connection getConnection() {
Connection conn = null;
;
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
} // 定义释放数据库资源的方法
public static void destory(Connection con, Statement stat, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
} if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
} if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} }

基本类

package com.shuzf.jdbc;

public class Student {
private Integer Id;
private String Name;
private String Sex;
private int Age; public Student() {
super();
}
public Student(String name, String sex, int age) {
Id = null;
Name = name;
Sex = sex;
Age = age;
}
public Integer getId() {
return Id;
}
public void setId(Integer id) {
Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getSex() {
return Sex;
}
public void setSex(String sex) {
Sex = sex;
}
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
} }

增删改查

package com.shuzf.jdbc;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList; public class JdbcTest { public int insert(Student student) {
Connection conn = JDBCUtil.getConnection();
int i = 0;
PreparedStatement pst = null;
String sql = "insert into students (Name,Sex,Age,Addtime) values(?,?,?,?)";
try {
pst = conn.prepareStatement(sql);
pst.setString(1, student.getName());
pst.setString(2, student.getSex());
pst.setInt(3, student.getAge());
pst.setDate(4, new Date(new java.util.Date().getTime()));
i = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.destory(conn, pst, null);
}
return i;
} public int update(Student student) {
Connection conn = JDBCUtil.getConnection();
int i = 0;
PreparedStatement pst = null;
String sql = "update students set Age='" + student.getAge() + "' where Name='" + student.getName() + "'";
try {
pst = conn.prepareStatement(sql);
i = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.destory(conn, pst, null);
}
return i;
} public int delete(Student student) {
Connection conn = JDBCUtil.getConnection();
int i = 0;
PreparedStatement pst = null;
String sql = "delete from students where Name='" + student.getName() + "'";
try {
pst = conn.prepareStatement(sql);
i = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.destory(conn, pst, null);
}
return i;
} public ArrayList<Student> getStudent(String name) {
Connection conn = JDBCUtil.getConnection();
PreparedStatement pst = null;
ResultSet rs = null;
ArrayList<Student> students = new ArrayList<Student>();
String sql = "select * from students where Name='" + name + "'";
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
// int count = rs.getMetaData().getColumnCount();// 指示列数目的 int值
while (rs.next()) {
Student s = new Student();
s.setId(rs.getInt("id"));
s.setName(rs.getString("name"));
s.setSex(rs.getString("sex"));
s.setAge(rs.getInt("age"));
students.add(s);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.destory(conn, pst, rs);
}
return students;
} public static void main(String[] args) {
// TODO Auto-generated method stub } }
上一篇:WPF 只允许打开一个实例


下一篇:我用过的Linux命令--关闭防火墙