栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java连接数据库并实现添加数据有重复不插入数据

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java连接数据库并实现添加数据有重复不插入数据

1、适用场景

当你不希望存入数据库中的某组数据重复。我这里的例子是一个注册系统,不希望账户名重复。

2、设置数据库中某字段不重复
alter table user.users add unique(account);

alter table + 数据库名.表名 + add unique (字段名);

3、java连接数据库

连接数据库需要先导入mysql-connector-java-5.1.36-bin.jar包
下载地址
下载好之后在idea中创建个Directory


解压下载好的包,复制下图中框出的文件

将文件复制到我们刚刚建的文件夹中

最后

前置做好之后,我们开始连接数据库

package StudentManagerSystem;
import java.sql.*;
public class text {
    private static Connection connection;//与数据库的连接对象
    private static Statement statement;// SQL语言执行对象
    
    private static final String URL = "jdbc:mysql://47.93.36.12:3306/";
    private static final String DATABASE = "user";
    private static final String USER = "root";
    private static final String PASSWORD = "密码";
    private text() {
    }

    static {
        try {
        //加载驱动
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static void getCon(){
    //创建连接
        try {
            connection = DriverManager.getConnection(URL+DATABASE,USER,PASSWORD);
        } catch (SQLException e) {
            e.printStackTrace( );
        }
    }

    public static void disGetCon(){
    //关闭连接
        if (connection != null){
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace( );
            }
        }
        if (statement != null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace( );
            }
        }
    }
    public static int select (String sql) throws SQLException {
    //这个方法的意思是输入一个查询类的sql指令返回一个查询结果集.
        getCon();
        statement = connection.createStatement();
        ResultSet re = statement.executeQuery(sql);
        re.next();
        int number = re.getInt("count");
        disGetCon();
        return number;
    }

    public static boolean set(String sql) throws SQLException {
    //这个方法可以通过sql命令实现添加、删除或者修改数据库表中数据并返回是否成功
        getCon();
        statement = connection.createStatement();
        boolean execute = statement.execute(sql);
        disGetCon();
        return execute;
    }
}
4、查重

首先我们数据库中存入账号,账户名“123”
然后我们在java中添加一组账户,账户名也是“123”

public static void main(String[] args) {
        //拿到一个账户
        String account = "123";
        String password = "321";
        String name = "张三";
        String identity = "学生";
        //输入一段sql命令
        String sql = "select count(account) as 'count' from users where account = " + account ;

        try {
            if (select(sql)>0){
                System.out.println("账户名重复");
            }else {
                set("insert into users(account,password,name,identity) value (" +"'"+account+"'"+","+"'"+password+"'"+","+"'"+name+"'"+","+"'"+identity+"'"+")");
            }
        } catch (SQLException e) {
            e.printStackTrace( );
        }
    }

这是输出结果,可以实现查重

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839419.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号