把数据库连接信息放到.properties配置文件中,方便以后修改
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import pojo.Users; //数据库表实体类
public class JdbcTest {
/**
* @param args
*/
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String strSql=null;
Users bean=null;
String name=null;
String password=null;
//构造方法
public JdbcTest(){
Properties properties = new Properties(); //实例化Properties类
try {
//读取src下的配置文件,我的配置文件在src下,注意路径,前面的/
properties.load(this.getClass().getResourceAsStream("/jdbc.properties"));
String driver = properties.getProperty("db.driver"); //获取配置文件中键值对的值
String url = properties.getProperty("db.url");
String user = properties.getProperty("db.user");
String password = properties.getProperty("db.password");
try {
Class.forName(driver); //注册驱动
//连接数据库,获得conn连接对象
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//在这里写了一个测试类,其实是构造方法的实现过程,都用于创建连接,并获得连接对象
public void JdbcTest1(){
String driver="com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/jhwoa";
String user = "root";
String password="root";
try{
Class.forName(driver);
conn = DriverManager.getConnection(url,user,password);
}catch(SQLException e){
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//插入
//在这里用的是statement对象,其实对于动态参数的sql操作应该用Prestatement对象
public String insert(String name,String password){
try {
strSql="INSERT INTO users(name,password) VALUES('"+name+"','"+password+"')";
stmt=conn.createStatement();
stmt.executeUpdate(strSql);
System.out.println("插入语句执行成功:"+strSql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("插入失败");
}
return "ok";
}
//更新
public String update(long id,String name,String password){
try{
strSql= "UPDATE users SET name='"+name+"',password='"+password+"'";
stmt=conn.createStatement();
stmt.executeUpdate(strSql);
System.out.println("更新完成");
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("更新失败");
}
return "ok";
}
//删除
public String delete(long id){
try {
strSql="delete from users";
stmt=conn.createStatement();
stmt.executeUpdate(strSql);
System.out.println("删除完成");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "ok";
}
//查询
public String select(long id){
try{
strSql="select * from users where id='"+id+"'";
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(strSql);
while(rs.next()){
System.out.println(rs.getString("name"));
System.out.println(rs.getString("password"));
}
}catch(SQLException e){
e.printStackTrace();
}
return "ok";
}
//关闭资源,注意关闭顺序,从里向外关
public void close(){
if(rs!=null){
try {
rs.close();
if(stmt!=null){
stmt.close();
stmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
}
}
分享到:
相关推荐
Spring JDBC 增删改查
struts+jdbc增删改查,,, struts2.0 一个小案例
简单的jsp+servlet+jdbc+javaBean实现的增删查改项目,供新手参考
通用的jdbc增删改查,仅仅只是两个通用的方法,利用反射和泛型
用JDBC对用户的增删改查的实现
这是一个基于Struts2 jdbc的单表增删改查,绝对好用,我的主键是通过 sequence来自增的 ,其他的看代码即可。
java中简单的mysql数据库连接JDBC,包含了配置文件(Config)
加深对jdbc的理解和应用,理解MVC经典开发模式,示例经典的增删改查操作
java十分经典的jdbc增删改查程序,含sql语句
jdbc实现的增删改查,完美代码,完美封装
实现完全的对jdbc对象的封装,只需调用则可对数据库进行CRUD操作
一个封装好的java JDBC增删改查类
JSP+JDBC增删改查操作 web项目开发
JSP+JDBC增删改查 操作 web项目
Java中JDBC增删改查相关基础练习的实例源代码
内容为JDBC增删改查 ,事物处理, 批处理,以及预编译示例代码
简单jdbc增删改查
jdbc增删改查基本操作的使用