java连接mysql以及增删改查操作

时间:2022-11-12 06:32:04

java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺。直接上代码:

(温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 )

 class DBConnection{

 //    驱动类名
String driver="com.mysql.jdbc.Driver";
// URL格式,最后为数据库名
String url="jdbc:mysql://localhost:3306/javaTest?useUnicode=true&characterEncoding=UTF8";  //JavaTest为你的数据库名称
String user="root";
String password="123456";
Connection coon=null;
public DBConnection(){
try{
// 加载驱动程序
Class.forName(driver);
coon=(Connection)DriverManager.getConnection(url,user,password);
if(!coon.isClosed()){
System.out.println("成功连接数据库!");
}
}catch (Exception e){
e.printStackTrace();
}
}
public void close(){
try{
this.coon.close();
}catch(Exception e){
e.printStackTrace();
}
}
// 增加数据
public void add(String name,int age,String gender){
// String sql="insert into usrInfo(username,gender,age) values(?,?,?)";  //向usrInfo表中插入数据
String sql="insert into usrInfo(age,gender,username) values('"+age+"','"+gender+"','"+name+"')";
try{
PreparedStatement preStmt=(PreparedStatement)this.coon.prepareStatement(sql);
// preStmt.setString(1, name);
// preStmt.setInt(3, age);
// preStmt.setString(2, gender);  //和上面的注释的一块组成另外一种插入方法
preStmt.executeUpdate();
System.out.println("插入数据成功!");
preStmt.close();
}catch(Exception e){
e.printStackTrace();
}
} // 查询
public void select(){
String sql="select * from usrInfo";  //查询usrInfo表中的信息 try{
Statement stmt=(Statement)this.coon.createStatement();
ResultSet rs=(ResultSet)stmt.executeQuery(sql);  //得到的是结果的集合
System.out.println("--------------------------------");
System.out.println("姓名"+"\t"+"年龄"+"\t"+"性别");
System.out.println("--------------------------------");
while(rs.next()){
String name=rs.getString("username");
int age=rs.getInt("age");
String gender=rs.getString("gender");
System.out.println(name+"\t"+age+"\t"+gender);
}
stmt.close();
}catch(Exception e){
e.printStackTrace();
}
} // 更改数据 public void update(String name,int age){
String sql="update usrInfo set age=? where username=?";  //推荐使用这种方式,下面的那种注释方式不知道为啥有时候不好使
// String sql="update usrInfo set age="+age+" where username='"+name+"'";  
try{
PreparedStatement prestmt=(PreparedStatement)this.coon.prepareStatement(sql);
prestmt.setInt(1, age);
prestmt.setString(2,name);
prestmt.executeUpdate(); // Statement stmt=(Statement)this.coon.createStatement();
// stmt.executeUpdate(sql);
System.out.println("更改数据成功!");
prestmt.close();
}catch(Exception e){
e.printStackTrace();
}
} // 删除数据
public void del(String name){
String sql="delete from usrInfo where username=?";
try{
PreparedStatement prestmt=(PreparedStatement)this.coon.prepareStatement(sql);
prestmt.setString(1, name);
prestmt.executeUpdate();
System.out.println("删除数据成功!");
prestmt.close();
}catch(Exception e){
e.printStackTrace();
}
}
}

在主类中对其创建实例,实例中构造方法完成数据库的连接操作,实例调用增删改查方法进行对数据库信息的操作

 public class mysqlTest {
public static void main(String args[]){
Scanner in=new Scanner(System.in);
DBConnection db=new DBConnection(); // 插入数据
System.out.println("输入姓名,年龄,性别:");
String name=in.next();
int age=in.nextInt();
String gender=in.next();
db.add(name, age, gender); // 查询数据
db.select(); // 修改数据
// String name=in.next();
// int age=in.nextInt();
// db.update(name, age); // 删除数据
// String name=in.next();
// db.del(name);
//
// db.close();
} }

原创不易,尊重版权。转载请注明出处:http://www.cnblogs.com/xsmile/