JDBC服务器连接数据库

本博客主要讲解用Java语言从服务器如何连接数据库并对数据库进行增删改查操作。下面详细讲解:
首先需要引入mysql  connector jar包,请大家自觉下载,并引入到项目中。接下来展现代码具体实现部分:

//该类负责连接数据库
public class DBCon {

private static String USER = "root";
private static String PASSWORD = "******";//自己创建数据库所设置的密码
private String MYSQL_URL="jdbc:mysql://localhost:3306/ttest";
private  static Connection conn = null;
PreparedStatement pre = null;// 预编译对象
public Connection getConn() {
    return conn;
}


public static void setConn(Connection conn) {
    DBCon.conn = conn;
}


public DBCon()
{
        try {
        Class.forName("com.mysql.jdbc.Driver");//加载驱动
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        System.out.println("找不到驱动程序类 ,加载驱动失败!");
        try {
        conn = DriverManager.getConnection(MYSQL_URL, USER, PASSWORD);//创建数据库链接对象
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        System.out.println("数据库连接失败!!!");
    }
}

}

//模型层用户
public class User {
private String name;
private String password;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

}
//该类负责对数据库进行各种增删改查操作
public class UsersDao {

public void addUser(User user){
    DBCon dbcon=new DBCon();
    Connection conn=dbcon.getConn();
    try {
        PreparedStatement pre=conn.prepareStatement("insert into users(name,password) values(?,?)");
        pre.setString(1, user.getName());
        pre.setString(2, user.getPassword());
        pre.execute();
        System.out.println("成功添加");
        System.out.println("name="+user.getName()+"  password="+user.getPassword());

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
public void updateUser(User user){
    DBCon dbcon=new DBCon();
    Connection conn=dbcon.getConn();
    try {
        PreparedStatement pre=conn.prepareStatement("update users set password=? where name=?");
        pre.setString(1, user.getPassword());
        pre.setString(2, user.getName());

        pre.execute();
        System.out.println("成功更新");
        System.out.println("name="+user.getName()+"  password="+user.getPassword());
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
public void deleteUser(String name){
    DBCon dbcon=new DBCon();
    Connection conn=dbcon.getConn();
    try {
        PreparedStatement pre=conn.prepareStatement("delete from users where name=?");

        pre.setString(1, name);

        pre.execute();
        System.out.println("成功删除");
        System.out.println("name="+name+"的个人信息");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
public User getUser(String name){
    User user=null;
    DBCon dbcon=new DBCon();
    Connection conn=dbcon.getConn();
    try {
        PreparedStatement pre=conn.prepareStatement("select * from users where name=?");

        pre.setString(1, name);

        ResultSet rs=pre.executeQuery();
        while(rs.next()){
            user=new User();
            user.setName(rs.getString("name"));
            user.setPassword(rs.getString("password"));
        }
        System.out.println("成功查询");
        System.out.println(user.getName()+"   "+user.getPassword());

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return user;
}
public List<User> query(List<Map<String,Object>> params){
    List<User> users = null;
    User user;
    DBCon dbcon=new DBCon();
    Connection conn=dbcon.getConn();
    StringBuilder sb=new StringBuilder();
    sb.append("select name,password from users where 1=1");
    if(params!=null&&params.size()>0){
        for(int i=0;i<params.size();i++){
            Map<String,Object> map=params.get(i);
            sb.append(" and "+map.get("name")+" "+map.get("rela")+" "+map.get("value"));
        }
    }
    try {
        PreparedStatement pre=conn.prepareStatement(sb.toString());
        ResultSet rs=pre.executeQuery();
        users=new ArrayList<User>();

        while(rs.next()){
            System.out.println(rs.getString("name")+","+rs.getString("password"));
            user=new User();
            user.setName(rs.getString("name"));
            user.setPassword(rs.getString("password"));
            users.add(user);
        }
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return users;

}

}
jdbc基本知识就这些了,掌握基本原理就能灵活运用jdbc的相关知识了,博主第一次写博客,谢谢大家多多支持。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值