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、运行测试代码,测试成功

  • 相关阅读:
    target runtime apache v6.0 not defined解决
    java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
    The valid characters are defined in RFC 7230 and RFC 3986问题
    invalid END header解决方法
    You have more than one version of ‘org.apache.commons.logging.Log’ visible, which is not allowed问题解决
    Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    在eclipse中import java web项目时遇到的一些问题并将该项目通过tomcat发布
    java byte转string 涉及到字节流中有中文
    spring+mybatis框架搭建时遇到Mapped Statements collection does not contain value for...的错误
    试试看读一下Zepto源码
  • 原文地址:https://www.cnblogs.com/yanchaoyi/p/13055130.html
Copyright © 2011-2022 走看看