整体目录:
pro.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>maven_mysql</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
ItemsDao接口:
package com.xurong.dao;
import com.xurong.domain.Items;
import java.util.List;
/**
* @auther xurong
* @date 2021/10/13 - 14:17
*/
public interface ItemsDao {
public List<Items> findAll() throws Exception;
}
Items类:
package com.xurong.domain;
/**
* @auther xurong
* @date 2021/10/9 - 16:47
*/
public class Items {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
ItemsDaoImpl:
package com.xurong.impl;
import com.xurong.dao.ItemsDao;
import com.xurong.domain.Items;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
/**
* @auther xurong
* @date 2021/10/13 - 14:21
*/
public class ItemsDaoImpl implements ItemsDao {
public List<Items> findAll() throws Exception{
List<Items> list = new ArrayList<Items>();//
/*为什么要将其提取出来:因为当资源用完要释放的时候,释放资源对象,如果放在try中,由于局部作用域,导致资源释放不了*/
//2.先获取contection对象
Connection connection = null;
//3.获取真正操作数据的对象
PreparedStatement preparedStatement = null;
//4.执行数据库查询操作
ResultSet resultSet = null;
try{
//1.加载驱动类
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql:///shopping","password","password");//maven是数据库名
preparedStatement = connection.prepareCall("select * from product");
resultSet = preparedStatement.executeQuery();
//把5.数据库的结果集转成java的List集合
// List<Items> list = new ArrayList<Items>();
while(resultSet.next()) {
//以下3个步骤完成一个Items的实例化,并将其存入到List集合中
Items items = new Items();
items.setId(resultSet.getInt("id"));
items.setName(resultSet.getString("name"));
list.add(items);
}
}catch (Exception e){
e.printStackTrace();
}finally {//使用完记得要把资源关掉,所以要使用异常捕捉
connection.close();
preparedStatement.close();
resultSet.close();
}
return list;
}
}
ItemsTest类:
package com.xurong.test;
import com.xurong.dao.ItemsDao;
import com.xurong.domain.Items;
import com.xurong.impl.ItemsDaoImpl;
import org.junit.Test;
import java.util.List;
/**
* @auther xurong
* @date 2021/10/13 - 15:39
*/
public class ItemsTest {
@Test
public void findAll() throws Exception{
ItemsDao itemsDao = new ItemsDaoImpl();
List<Items> list = itemsDao.findAll();
for(Items items:list) {
System.out.println(items.getName());
}
}
}
运行测试类输出结果:
数据库中shopping表内容: