數(shù)據(jù)庫中的表
目錄結(jié)構(gòu)
目錄結(jié)構(gòu)2
目錄結(jié)構(gòu)3
用戶的實體類寄猩、跟數(shù)據(jù)庫表對應(yīng)起來困介。
package com.haila.domain;/*
* @program: maven_javaweb
*
* @Date: 2020/3/17 0017 16:34
*
* @Author : haira
*
* @Description:MavenUser的實體類
*/
public class MavenUser {
private String name;
private int age;
private String gender;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "maven_user{" +
"name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
'}';
}
}
要實現(xiàn)的接口(查詢?nèi)浚?/p>
package com.haila.dao;/*
* @program: maven_javaweb
*
* @Date: 2020/3/17 0017 16:40
*
* @Author : haira
*
* @Description:
*/
import com.haila.domain.MavenUser;
import java.util.List;
public interface MavenUserDao {
public List<MavenUser> findAll();
}
接口實現(xiàn)類天吓、跟數(shù)據(jù)庫交互把想要的數(shù)據(jù)取回來
package com.haila.dao.impl;/*
* @program: maven_javaweb
*
* @Date: 2020/3/17 0017 16:41
*
* @Author : haira
*
* @Description:
*/
import com.haila.dao.MavenUserDao;
import com.haila.domain.MavenUser;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class MavenDaoImpl implements MavenUserDao {
@Override
public List<MavenUser> findAll() {
List<MavenUser> list = new ArrayList<MavenUser>();
//先獲取contection對象
Connection connection = null;
//獲取真正操作數(shù)據(jù)的對象
PreparedStatement pst = null;
//執(zhí)行數(shù)據(jù)庫查詢操作
ResultSet rs = null;
try {
//加載驅(qū)動類
Class.forName("com.mysql.cj.jdbc.Driver");
//先獲取contection對象
connection = DriverManager.getConnection("jdbc:mysql:///haila?useSSL=false&serverTimezone=UTC","root", "7281412");
//獲取真正操作數(shù)據(jù)的對象
pst = connection.prepareCall("select * from maven_user");
//執(zhí)行數(shù)據(jù)庫查詢操作
rs = pst.executeQuery();
//把數(shù)據(jù)庫結(jié)果集轉(zhuǎn)成java的List集合
while (rs.next()){
MavenUser items = new MavenUser();
items.setName(rs.getNString("name"));
items.setAge(rs.getInt("age"));
items.setGender(rs.getNString("gender"));
list.add(items);
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
}
測試方法,實現(xiàn)控制臺輸出
package com.haila.test;/*
* @program: maven_javaweb
*
* @Date: 2020/3/17 0017 17:09
*
* @Author : haira
*
* @Description:
*/
import com.haila.dao.MavenUserDao;
import com.haila.dao.impl.MavenDaoImpl;
import com.haila.domain.MavenUser;
import org.junit.Test;
import java.util.List;
public class MavenUserTest {
@Test
public void findAll(){
MavenUserDao mavenUserDao=new MavenDaoImpl();
List<MavenUser> list=mavenUserDao.findAll();
for (MavenUser mavenUser:list) {
System.out.println(mavenUser);
}
}
}
運行結(jié)果:
yunxingjieguo
總結(jié):
1.數(shù)據(jù)庫連接有兩個地方要注意一下會涉及到版本問題烦味。
2.數(shù)據(jù)庫四個屬性:數(shù)據(jù)庫驅(qū)動聂使、數(shù)據(jù)庫地址、數(shù)據(jù)庫用戶名谬俄、密碼柏靶。
數(shù)據(jù)庫連接