zoukankan      html  css  js  c++  java
  • 创建maven工程访问数据库

    一、使用maven管理项目的好处

    1. maven项目的jar包是放在本地仓库的,使用依赖管理jar包,大大减少了项目所占的空间。
    2. 使用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、运行测试代码,测试成功

  • 相关阅读:
    将Java应用部署到SAP云平台neo环境的两种方式
    Java实现 LeetCode 524 通过删除字母匹配到字典里最长单词(又是一道语文题)
    Java实现 LeetCode 524 通过删除字母匹配到字典里最长单词(又是一道语文题)
    Java实现 LeetCode 523 连续的子数组和(ง •_•)ง
    Java实现 LeetCode 523 连续的子数组和(ง •_•)ง
    Java实现 LeetCode 523 连续的子数组和(ง •_•)ง
    Java实现 LeetCode 522 最长特殊序列 II(查找最长的非子序列的长度)
    Java实现 LeetCode 522 最长特殊序列 II(查找最长的非子序列的长度)
    Java实现 LeetCode 522 最长特殊序列 II(查找最长的非子序列的长度)
    Java实现 LeetCode 521 最长特殊序列 Ⅰ(出题人:“就是喜欢看你们不敢相信那么简单,又不敢提交的样子。”)...
  • 原文地址:https://www.cnblogs.com/yanchaoyi/p/13055130.html
Copyright © 2011-2022 走看看