飞道的博客

利用JDBC在java中实现数据库连接查询等操作

665人阅读  评论(0)

利用JDBC在java中实现数据库连接查询等操作

增加,删除,修改操作点我

在数据库软件中建立数据库:
#建立数据库
CREATE DATABASE test1;
#建立表
CREATE TABLE IF EXISTS dept;
#建立表名
CREATE TABLE dept (
depno int(11) NOT NULL,
dname varchar(20) DEFAULT NULL,
locvarchar(30) DEFAULT NULL,
PRIMARY KEY (depno)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#输入数据
insert into dept values (10,‘后勤’,‘房间10’),(20,‘运营’,‘房间20’),(30,‘销售’,‘房间30’);
#查询数据
SELECT *FROM dept;

Java实现数据库连接:
使用idea软件导入jar包的方法可以参考这位博主的文章IDEA导入jar包的方法

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBHelper {
   
//    Mysql5.5及以上版本需要在数据库名称test1后面添加?charart---等解释,5.5以下的版本则不用
    public static final String URL="JDBC:mysql://localhost:3306/test1?characterEncoding=utf8&useSSL=false&serverTimezone=UTC";
//    数据库账号
    public static final String USERNAME="root";
//    账号密码
    public static final String PSW="123456";
    public static Connection Conn;

    public static Connection getConn(){
   
        try {
   
            Class.forName("com.mysql.cj.jdbc.Driver");
            try {
   
                Conn = DriverManager.getConnection(URL,USERNAME,PSW);
            } catch (SQLException e) {
   
                e.printStackTrace();
            }
        } catch (ClassNotFoundException e) {
   
            e.printStackTrace();
        }
        return Conn;
    }
//    关闭数据库
    public static void closeconn(Connection conn){
   
        if (Conn!=null){
   
            try {
   
                Conn.close();
            } catch (SQLException e) {
   
                e.printStackTrace();
            }
        }
    }
//若不为空则代表连接成功
    public static void main(String[] args) {
   
        System.out.println(DBHelper.getConn());
    }
}

输出结果:

建立查询所有信息和查询某个部门信息的接口:

public interface UserInfoDao {
   
//    查询所有信息
    public List<UserInfo> findAllUser();
//    查询某个部门信息
    public UserInfo findUserById(int id);

}

建立数据信息类:

public class UserInfo  {
   
    private int depno;
    private String dname;
    private String loc;

    public int getDepno() {
   
        return depno;
    }

    public void setDepno(int depno) {
   
        this.depno = depno;
    }

    public String getDname() {
   
        return dname;
    }

    public void setDname(String dname) {
   
        this.dname = dname;
    }

    public String getLoc() {
   
        return loc;
    }

    public void setLoc(String loc) {
   
        this.loc = loc;
    }
    public UserInfo(int depno, String dname, String loc) {
   
        super();
        this.depno = depno;
        this.dname = dname;
        this.loc = loc;
    }

    public UserInfo() {
   
        super();
    }

}

实现接口的类:


import cn.zc.Dao.UserInfoDao;
import cn.zc.entity.UserInfo;
import cn.zc.util.DBHelper;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
//查询所有部门信息
public class UserInfoDaoImpl implements UserInfoDao {
   
    @Override
    public List<UserInfo> findAllUser() {
   
        List<UserInfo> lists = new ArrayList<UserInfo>();
//        获取数据库连接对象
        Connection conn = DBHelper.getConn();
//        书写SQL语句操作数据库
        String sql = "select *from dept";
//        预编译sql语句
        try {
   
            PreparedStatement ps = conn.prepareStatement(sql);
//            查询
            ResultSet rs = ps.executeQuery();
//            循环输出
            while (rs.next()) {
   //有数据则返回ture
                UserInfo ui = new UserInfo();
                ui.setDepno(rs.getInt(1));
                ui.setDname(rs.getString(2));
                ui.setLoc(rs.getString(3));
                lists.add(ui);

            }

        } catch (SQLException e) {
   
            e.printStackTrace();
        }
        return lists;
    }
//查询某个部门的类
    @Override
    public UserInfo findUserById(int no) {
   
//        获取数据库连接对象
            UserInfo ui = null;
            Connection conn = DBHelper.getConn();
//        书写SQL语句操作数据库
            String sql = "select *from dept where depno=?";
//        预编译sql语句
            try {
   
                PreparedStatement ps = conn.prepareStatement(sql);
//                赋值
                ps.setInt(1,no);
//            查询
                ResultSet rs = ps.executeQuery();
//            循环输出
                while (rs.next()) {
   //有数据则返回ture
                    ui = new UserInfo();
                    ui.setDepno(rs.getInt(1));
                    ui.setDname(rs.getString(2));
                    ui.setLoc(rs.getString(3));
                }

            } catch (SQLException e) {
   
                e.printStackTrace();
            }
            return ui;
        }
    }

具体实现类:

import cn.zc.Dao.UserInfoDao;
import cn.zc.Impl.UserInfoDaoImpl;
import cn.zc.entity.UserInfo;

import java.util.List;

public class Test {
   
    public static void main(String[] args) {
   
    //查询输出所有信息
        UserInfoDao depno = new UserInfoDaoImpl();
        List<UserInfo> list = depno.findAllUser();
        for (UserInfo u : list) {
   
            System.out.println(u.getDepno()+"\t"+u.getDname()+"\t"+u.getLoc());
        }
//查询部门号为20的数据
        UserInfo ui = depno.findUserById(20);
        if (ui!=null){
   
            System.out.println("找到部门信息");
            System.out.println(ui.getDepno()+"\t"+ui.getDname()+"\t"+ui.getLoc());
        }else{
   
            System.out.println("没有这个部门");
        }
    }
}


转载:https://blog.csdn.net/CSDN9825/article/details/110673771
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场