创建maven工程访问数据库
使用maven管理项目的好处
- maven项目的jar包是放在本地仓库的,使用依赖管理jar包,大大减少了项目所占的空间。
- 使用maven项目可以实现一键构建,一键完成编译、测试、运行、打包、安装、部署。
创建maven工程访问数据库
1、使用IDEA创建新建一个maven工程
在src->main->java文件夹下放置核心代码,在src->main->resources文件夹下存放对应配置文件
在src->test->java文件夹下放置测试代码,在src->test->resources文件夹下存放测试对应的配置文件
2、数据库表如下图所示
3、在pom.xml文件夹下添加依赖,导入jar包
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
</dependencies>
4、在src->main->java下新建com.itheima.domain的包,并新建名为Items的类,代码如下
package com.itheima.domain;
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;
}
}
这个类对应了数据库表中的数据,并用get和set方法对其进行封装
5、在src->main->java下新建com.itheima.dao的包,并新建名为ItemsDao的接口,代码如下
package com.itheima.dao;
import com.itheima.domain.Items;
import java.util.List;
public interface ItemsDao {
public List<Items> fillAll() throws Exception;
}
在src->main->java下新建com.itheima.dao.impl的包,并新建名为ItemsDaoImpl的类,实现ItemsDao的接口,代码如下
package com.itheima.dao.impl;
import com.itheima.dao.ItemsDao;
import com.itheima.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;
public class ItemsDaoImpl implements ItemsDao {
public List<Items> fillAll() throws Exception{
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
List<Items> list = new ArrayList<Items>();
try{
//先加载jdbc驱动
Class.forName("com.mysql.jdbc.Driver");
//获取connection对象
con = DriverManager.getConnection("jdbc:mysql:///maven","root","root");
//获取真正操作数据的对象
pst = con.prepareCall("select * from items");
//执行数据库查询操作
rs = pst.executeQuery();
//把数据库结果集转成java的List集合
while(rs.next()){
Items items = new Items();
items.setId(rs.getInt("id"));
items.setName(rs.getString("name"));
list.add(items);
}
}catch (Exception e){
e.printStackTrace();
}finally {
con.close();
pst.close();
rs.close();
}
return list;
}
}
6、在src->test->java下新建com.itheima.test的包,并新建名为ItemsTest的类,用来测试是否能正常访问数据库里的数据,代码如下
package com.itheima.test;
import com.itheima.dao.ItemsDao;
import com.itheima.dao.impl.ItemsDaoImpl;
import com.itheima.domain.Items;
import org.junit.Test;
import org.omg.Messaging.SyncScopeHelper;
import java.util.ArrayList;
import java.util.List;
public class ItemsTest {
@Test
public void findAll() throws Exception {
ItemsDao itemsDao = new ItemsDaoImpl();
List<Items> list = itemsDao.fillAll();
for (Items items:list){
System.out.println(items.getName());
}
}
}
此时项目的目录结构图如下
7、运行测试代码,测试成功