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

利用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("没有这个部门");
        }
    }
}

  • 15
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
好的,我会尽量回答你的问题。关于Java连接MySQL数据库实现登录注册功能,以下是一个简单的实现步骤: 1.下载并安装MySQL数据库,安装完成后,创建一个名为“test”的数据库。 2.下载并安装JDBC驱动程序,将下载的JDBC驱动程序的jar包添加到项目的classpath。 3.编写Java代码,实例化JDBC驱动程序,连接MySQL数据库,创建用户表,实现用户的注册和登录功能。 以下是一个简单的Java代码示例: ``` import java.sql.*; public class JdbcTest { public static void main(String[] args) { // 数据库连接信息 String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"; String username = "root"; String password = "123456"; // 注册JDBC驱动程序 try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println("找不到JDBC驱动程序!"); e.printStackTrace(); return; } // 连接MySQL数据库 Connection conn = null; try { conn = DriverManager.getConnection(url, username, password); } catch (SQLException e) { System.out.println("连接MySQL数据库失败!"); e.printStackTrace(); return; } // 创建用户表 Statement stmt = null; try { stmt = conn.createStatement(); String sql = "create table if not exists user(id int primary key auto_increment, username varchar(50) not null, password varchar(50) not null)"; stmt.executeUpdate(sql); } catch (SQLException e) { System.out.println("创建用户表失败!"); e.printStackTrace(); return; } finally { if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } // 用户注册 PreparedStatement pstmt = null; try { String sql = "insert into user(username, password) values (?, ?)"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, "user1"); pstmt.setString(2, "123456"); pstmt.executeUpdate(); } catch (SQLException e) { System.out.println("用户注册失败!"); e.printStackTrace(); return; } finally { if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } // 用户登录 ResultSet rs = null; try { String sql = "select * from user where username=? and password=?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, "user1"); pstmt.setString(2, "123456"); rs = pstmt.executeQuery(); if (rs.next()) { System.out.println("用户登录成功!"); } else { System.out.println("用户名或密码错误!"); } } catch (SQLException e) { System.out.println("用户登录失败!"); e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } // 关闭数据库连接 try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 在上面的代码,我们先注册了JDBC驱动程序,然后连接了MySQL数据库,接着创建了一个名为“user”的用户表,实现了用户的注册和登录功能。你可以根据自己的需求修改代码数据库连接信息和SQL语句。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值