一、使用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、運行測試代碼,測試成功