在开发Java应用程序时,数据库操作是不可避免的一部分。在许多情况下,我们需要从数据库中查询数据,确保数据不会重复。这一过程在Java中的实现比想象的要简单。在此,我们将讨论Java中如何实现查询数据库数据不重复的方法。
站在用户的角度思考问题,与客户深入沟通,找到无棣网站设计与无棣网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名与空间、网站空间、企业邮箱。业务覆盖无棣地区。
1. 数据库准备
我们需要确保数据库已经准备就绪。我们创建一个表并向其中插入数据。在此示例中,我们创建一个“book”表,并向其中添加一些书籍数据。表结构包含以下列:
1. id:唯一ID
2. bookname:书籍名称
3. author:书籍作者
4. publish:书籍出版社
5. pubdate: 书籍出版日期
以下是MySQL数据库中创建“book”表的SQL语句:
CREATE TABLE `book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bookname` varchar(50) NOT NULL,
`author` varchar(50) NOT NULL,
`publish` varchar(50) NOT NULL,
`pubdate` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `book` (`bookname`, `author`, `publish`, `pubdate`) VALUES
(‘Java编程思想’, ‘Bruce Eckel’, ‘机械工业出版社’, ‘2023-5-1’),
(‘Thinking in Java’, ‘Bruce Eckel’, ‘Prentice Hall’, ‘2023-2-2’),
(‘Java核心技术’, ‘Cay Horstmann’, ‘机械工业出版社’, ‘2023-2-2’),
(‘Java开发实战经验’, ‘Joshua Bloch’, ‘清华大学出版社’, ‘2023-3-3’),
(‘Effective Java’, ‘Joshua Bloch’, ‘Addison-Wesley Professional’, ‘2023-5-8’)
2. Java代码实现
接下来,我们将使用Java代码连接到数据库并查询数据。我们需要主要关注以下几个步骤:
1. 导入必要的包:Java中有几个包可用于与数据库交互。在此示例中,我们将使用JDBC和MySQL的Java驱动程序。
2. 加载驱动程序:Java中的所有数据库驱动程序都实现了java.sql.Driver接口,并且必须在使用之前加载到JVM中。
3. 连接数据库:我们需要建立与数据库的连接。连接字符串应该包含数据库的名称、主机名、端口号和用户名等信息。
4. 执行查询:我们可以使用SQL查询语句从数据库中检索数据。将查询语句传递给Statement对象,并调用executeQuery()方法执行查询。使用ResultSet对象获取查询结果。
以下是Java代码示例:
import java.sql.*;
public class DBConnect {
public static void mn(String[] args) {
// JDBC驱动程序和数据库URL
String driver = “com.mysql.jdbc.Driver”;
String url = “jdbc:mysql://localhost:3306/test”;
// 数据库的用户名和密码
String user = “root”;
String password = “123456”;
try {
// 加载驱动程序
Class.forName(driver);
// 连接数据库
Connection conn = DriverManager.getConnection(url, user, password);
// 执行查询
Statement stmt = conn.createStatement();
String sql = “SELECT DISTINCT author FROM book”;
ResultSet rs = stmt.executeQuery(sql);
// 遍历查询结果
while (rs.next()) {
// 输出结果
System.out.println(rs.getString(“author”));
}
// 关闭连接和资源
rs.close();
stmt.close();
conn.close();
System.out.println(“查询完成!”);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
在该示例代码中,我们使用JDBC驱动程序加载MySQL数据库,并使用Connection对象与数据库建立连接。然后,我们使用Statement对象执行查询,并使用ResultSet对象获取查询结果集。我们通过遍历结果集来输出结果。
需要注意的是,以上代码使用了“SELECT DISTINCT”语句,该语句可以确保结果不会重复。
3. 结论
查询数据库数据不重复是Java应用程序中常见的任务。通过使用Java编写的JDBC代码,我们可以轻松地连接到数据库并执行查询。得到结果后,我们可以通过遍历结果集来输出结果。在执行查询时,我们应该特别注意使用SQL语句的SELECT DISTINCT子句来确保结果不会重复。通过上述步骤,我们可以成功地实现查询数据库数据不重复的任务。
相关问题拓展阅读:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Pattern;
public class ReadFile {
public static void main(String args) {
InputStream in = null;
InputStreamReader inReader = null;
BufferedReader reader = null;
try {
in = ReadFile.class.getResourceAsStream(“demo.txt”); // 文件和类放在同一目录
inReader = new InputStreamReader(in);
reader = new BufferedReader(inReader);
String line = null;
Set set = new HashSet(); // set去重
Pattern pattern = Pattern.compile(“{1}.*”); // 以字母开头的
while((line = reader.readLine()) != null) {
if (pattern.matcher(line).matches()) {
continue; // 如果之一个字符是字母,跳过
}
set.add(line);
}
for (String v : set) {
System.out.println(v); // 列结果
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
先对的你数据进行截取 str.substring(1,str.length) 再定义一个list dataList 用于存放你的截取数据
之后每次进行判断 dataList .contains(下一个数据)
if(!dataList .contains(下一个数据)){
// 证明下一个数据不在List里面
dataList.add(下一个数据);
}
直至数据读取完毕 最后查看list的size就可以了
这个简单,读取每行,用set存放,因为set存放的数据不能重复。
在存放之前,拿出你读取的字符串,然后取出字符串的之一个char 与 A~Z或者a~z比较,是的话,就直接跳过去,读取下一行就ok了
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
public class File_Double_Line{
public static void main(String args)throws IOException{
BufferedReader in_ = new BufferedReader(new FileReader(“File_Double_Line.java”));
Set list= new HashSet();
String line;
while((line=in_.readLine())!=null){
if(line.length()>0){
char c=line.charAt(0);
if(c0x39){//去除非数字开头的行
continue;
}
list.add(line);
}
}
in_.close();
for(Iterator it = list.iterator(); it.hasNext(); ){
System.out.println(it.next());//输出结果
}
}
}
来现成的代码
那为兄弟说的很正确就用set把
数据酷里面查询出来好象可以过滤,但是我忘记,你自己去看看把,,
让里加的时候 你可以用Set
Set set=new HashSet();
这个不添加相同元素 也就是说 里没有相同元素
关于java查询数据库数据不重复的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
创新互联成都网站建设公司提供专业的建站服务,为您量身定制,欢迎来电(028-86922220)为您打造专属于企业本身的网络品牌形象。
成都创新互联品牌官网提供专业的网站建设、设计、制作等服务,是一家以网站建设为主要业务的公司,在网站建设、设计和制作领域具有丰富的经验。
当前题目:Java实现查询数据库数据不重复(java查询数据库数据不重复)
文章链接:http://www.mswzjz.cn/qtweb/news15/77065.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能