在学习了java基础和mysql以及SQL语法之后,那我们可以开始学习如何程序对数据库的数据进行操作,基本操作就是,查询,新增,更新,删除,四个基本操作,也是全部操作。
这节我们将通过jdbc,通过程序去查询数据库中表数据。
一、准备工作
1>开发工具idea或者eclipse
现在开发工具一般去用idea,推荐大家使用。就是破解需要花点时间
2>mysql数据库服务
我们需要通过程序去操作查询数据库中的数据,我们可以自己在自个电脑搭建一个mysql5.6或者mysql5.7,mysql8.0的也可以。目前mysql8是目前的最新的版本
3>驱动包
通过程序去连接数据库服务,这个时候这个就需要一个驱动包帮助我们通过它去连接数据库并去使用数据服务。在选择下载驱动包时,最好一定要和数据库服务的版本一致。
二、通过开发工具新建项目
我这里用的是idea
file>New>Project
取好名字,点击create
三、导入驱动包
将下载好的驱动包,我这里是mysql-connector-java-8.0.14.jar
我们在项目根目录下新建目录lib,将驱动包复制进去
然后选中lib,右键
将lib目录加入项目依赖包
四、编写实体类
本节案例我们是查询一张文章表的数据,我们需要建立和文章表对应的一个实体对象类ArticleInfo
package hm.jdbc.model;
import com.sun.org.apache.xpath.internal.operations.Bool;
import java.util.Date;
public class ArticleInfo {
private Long id;
private Long typeId;
private String title;
private Integer viewNum;
private String contents;
private Date createTime;
private Date upTime;
private Boolean enabled;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getTypeId() {
return typeId;
}
public void setTypeId(Long typeId) {
this.typeId = typeId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getViewNum() {
return viewNum;
}
public void setViewNum(Integer viewNum) {
this.viewNum = viewNum;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpTime() {
return upTime;
}
public void setUpTime(Date upTime) {
this.upTime = upTime;
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
}
五、dao层
这里是本节学习的重点,首先我们先看下代码
package hm.jdbc.dao;
import hm.jdbc.model.ArticleInfo;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class ArticleInfoDao {
public List<ArticleInfo> getList(){
List<ArticleInfo> articleInfoList = new ArrayList<ArticleInfo>();
// 数据库连接
Connection conn = null;
// 执行sql用的
PreparedStatement ps = null;
// 结果集
ResultSet rs = null;
try {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获得连接对象
conn = DriverManager.getConnect