通过jdbc实现对数据库中数据的增删查改操作
###原始的东西该理解还是要理解
需要一个连接数据库的jar包(这里用的是MySQL):
http://download.csdn.net/detail/zhengyikuangge/9406895
直接上代码:
public class ValueDao {
public String DRIVER = "com.mysql.jdbc.Driver";
//mysql驱动
public String url = "jdbc:mysql://localhost/mysql";
/*
数据库路径,localhost表示本地ip,如果使用的是默认端口号可以省略书写
端口号。如果要加端口号,则上述url改成:"jdbc:mysql://localhost:
3306/mysql"。 3306即为mysql默认的端口号
*/
public String name = "root";
//数据库的用户名
public String psd = "abcefg";
//数据库的密码
public Connection conn;
//声明数据库连接的变量
public PreparedStatement ptmt;
//声明预处理命令行的变量
public ResultSet rs;
//结果集变量
class Student{
String id;
String name;
} //测试对象,数据库表名,列名同上
private void getConnection() throws Exception {
Class.forName(DRIVER);
//加载驱动
conn = DriverManager.getConnection(url, name, psd);
//获取连接
}
//添加数据
private int insert(Student s) throws Exception {
getConnection();
String sql = "insert into xcx values(?,?)";
ptmt = conn.prepareStatement(sql);
ptmt.setString(1, s.id);
ptmt.setString(2, s.name);
int result = ptmt.executeUpdate();
CloseAll();
return result;
//result表示影响的行数
}
//按照id获取数据,当然这里id应该只有一条数据,仅供参考
private List<Student> select(String id) throws Exception {
String s = null;
getConnection();
String sql = "select * from student where id = ? ";
ptmt = conn.prepareStatement(sql);
ptmt.setString(1, id);
rs = ptmt.executeQuery();
Student stu;
List<Student> stus = new ArrayList<Student>();
while (rs.next()) {
stu = new Student();
stu.id=rs.getString(1);
stu.name=rs.getString(2);
stus.add(stu);
}
closeAll();
return stus;
}
//更新数据
private int update(Student s) throws Exception {
getConnection();
String sql = "update student set name=? where id =?";
ptmt = conn.prepareStatement(sql);
ptmt.setString(1, s.id);
int result = ptmt.executeUpdate();
//result表示影响的行数
CloseAll();
return result;
}
//按照id删除数据
private int delete(String id) throws Exception {
getConnection();
String sql = "delete from student where id = ?";
ptmt = conn.prepareStatement(sql);
ptmt.setString(1, id);
int result = ptmt.executeUpdate();
//result表示影响的行数
CloseAll();
return result;
}
private void closeAll() throws Exception {
//这个方法就不用解释了。。
if (stmt != null) {
stmt.close();
}
if (ptmt != null) {
ptmt.close();
}
if (conn != null) {
conn.close();
}
}
}
还没有评论,来说两句吧...