Maven的安装和配置与jdbc上

一、下载

打开官网https://www.apache.org/dyn/closer.cgi,选择任意一个都行
在这里插入图片描述
点进去后下拉找到maven:
在这里插入图片描述
选择你要的版本 ,这里我们选择maven3:
在这里插入图片描述
然后选择你要的版本进行下载 ,下载的是压缩文件:
在这里插入图片描述

二、安装

把下载好的压缩包放到你想要放到的文件夹内,并解压:
在这里插入图片描述

三、配置环境变量:

右键此电脑—高级系统设置—环境变量 ;
新建一个变量名为MAVEN_HOME的系统变量:
在这里插入图片描述
再编辑path变量 新建一个如下图所示内容;
在这里插入图片描述
以管理员身份运行cmd命令行,输入mvn -v,出现如下结果 ,则是配置成功:
在这里插入图片描述

四、配置eclipse的Maven;

  1. 创建maven仓库:
    默认的本地仓库的目录是在C:\Users\viruser.v-desktop.m2\repository\如果使用系统默认的maven插件,那么建议还是修改下本地仓库的路径,这样节省C盘空间
    在你的maven同级目录下创建一个自己能够看懂的仓库文件夹:
    在这里插入图片描述
  2. 打开maven路径下的conf文件夹 找到settings.xml文件以记事本或轻文本工具打开,在localRepository下创建一个你所创建路径的标签:在这里插入图片描述
    再在mirrors标签下加上阿里云的镜像连接站点,这样能极大的加快下载jar包的速度
    在这里插入图片描述
    接下来打开Eclipse–>window–>Prefrences–>Maven---->Installations , 点击右侧的Add按钮,在弹出的窗口中,选择刚刚解压玩的文件夹,如图:
    在这里插入图片描述
    完成之后,还要把新增的maven勾上:
    在这里插入图片描述
    打开window---->Preferences —>Maven---->User Settings:
    在这里插入图片描述
    完成以上步骤后,maven就已经配置完毕!

五、创建maven项目:

打开file—new—other 或者按下 Ctrl+n 找到maven 新建一个maven project:在这里插入图片描述
选择工作区
在这里插入图片描述
选择internal本地,filter我们选择1.1;
在这里插入图片描述
输入maven项目的基本信息,如下图所示:
在这里插入图片描述
新建maven工程后,初始的目录是这样的(可能因为有些设置不同,初始的目录有所不同)初始目录中可以发现,目录中并没有“src/main/java”和“srr/main/test”两个源文件夹:
在这里插入图片描述
点击项目名,右击选择“Build Path”——》“Configrue Build Path”出现如图:
在这里插入图片描述
点击”JRE System Library [jdk-11.0.2]”(不能eclipse可能出现的版本不一样),再点击“edit”
在这里插入图片描述
点击finish即项目包创建完成:

接下来我们还需添加mysql依赖以及一些版本上的问题:
打开项目包下面的 pom.xml;修改和添加下图所示代码:在这里插入图片描述
以上一个mysql依赖的maven项目创建完成:

五、基本的连接数据库

在你刚创建好的项目下创建一个main类,进行数据库的连接:

连接步骤:1、加载驱动----2、建立链接----3、获取预定义对象(书写SQL)----4、执行SQL----5、处理SQL执行完的结果-----6、释放资源

代码如下:在这里插入图片描述

六、jdbc的封装:

import java.sql.*;
import java.util.*;

/**
 * JDBC工具类:负责数据库操作。
 *
 * @author hyp
 * @date 2020-8-9
 */
public class JdbcUtil {
    /** 加载数据库驱动程序 */
    private final static String DRIVER = "com.mysql.jdbc.Driver";
    /** URL */
    private final static String URL = "jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=UTF-8";
    /** 数据库用户名 */
    private final static String USERNAME = "root";
    /** 数据库密码 */
    private final static String PASSWORD = "root";

    private static Connection conn;
    private static PreparedStatement ps;
    private static ResultSet rs;

    public static void main(String[] args) {
        // 连接测试
        jdbcConnTest();

        // 增删改使用演示。(demo中sql语句与参数仅供参考)
        int i = executeUpdateDemo();
        System.out.println(i);

        // 查询使用演示。(demo中sql语句与参数仅供参考)
        List<Map<String, Object>> list = executeQueryDemo();
        System.out.println(list+"\n");

        // 将List<Map<String, Object>>转成List<ProductType>
        List<ProductType> pts = new ArrayList<>();
        for (Map<String, Object> map : list) {
            pts.add(new ProductType(Integer.parseInt(map.get("product_type_id")+""), map.get("product_type_name")+"", map.get("product_type_picture")+""));
        }
        System.out.println(pts);
    }

    /**
     * JDBC连接测试
     */
    public static void jdbcConnTest() {
        if (JdbcUtil.getConn() != null) {
            System.out.println("Connection success.");
        }
    }

    /**
     * 获得数据库连接
     *
     * @return 数据库连接
     */
    public static Connection getConn() {
        try {
            Class.forName(DRIVER);
            conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

    /**
     * 释放资源
     *
     * @param conn 数据库连接
     * @param ps   PreparedStatement对象
     * @param rs   结果集
     */
    public static void closeAll(Connection conn, PreparedStatement ps, ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (ps != null) {
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * 封装增加、删除、修改。
     *
     * @param preparedSql 预编译的 SQL 语句
     * @param params      预编译的 SQL 语句中的"?"占位符
     * @return 影响的条数
     */
    public static int executeUpdate(String preparedSql, Object... params) {
        try {
            // 1.建立连接
            conn = getConn();
            // 2.处理预编译SQL语句
            ps = conn.prepareStatement(preparedSql);
            // 3.给占位符赋值
            if (params != null) {
                for (int i = 0; i < params.length; i++) {
                    // 为预编译sql设置参数
                    ps.setObject(i + 1, params[i]);
                }
            }
            // 4.执行预编译SQL语句
            return ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeAll(conn, ps, null);
        }
        return 0;
    }

    /**
     * 封装查询。
     *
     * @param preparedSql 预编译的 SQL 语句
     * @param params      预编译的 SQL 语句中的"?"占位符
     * @return 结果集
     */
    public static List<Map<String, Object>> executeQuery(String preparedSql, Object... params) {
        List<Map<String, Object>> list = new ArrayList<>();
        try {
            // 1.建立连接
            conn = JdbcUtil.getConn();
            // 2.处理预编译SQL语句
            ps = conn.prepareStatement(preparedSql);
            // 3.给占位符赋值
            if (params != null) {
                for (int i = 0; i < params.length; i++) {
                    ps.setObject(i + 1, params[i]);
                }
            }
            // 4.执行预编译SQL语句(获得结果集)
            rs = ps.executeQuery();
            // 获得表结构(用于获取ResultSet对象中列的类型和属性的信息的对象。如字段数、字段名等等)
            ResultSetMetaData rsmd = rs.getMetaData();
            // 获取表中列的数量(ResultSet对象中的列数)
            int cols = rsmd.getColumnCount();
            // 5.遍历结果集
            while (rs.next()) {
                Map<String, Object> map = new HashMap<>(cols);
                for (int i = 0; i < cols; i++) {
                    String colName = rsmd.getColumnName(i + 1);
                    Object colValue = rs.getObject(colName);
                    if (colValue == null) {
                        colValue = "";
                    }
                    map.put(colName, colValue);
                }
                list.add(map);
            }
            return list;
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JdbcUtil.closeAll(conn, ps, rs);
        }
        return null;
    }

    /**
     * 工具类JdbcUtil,查询使用演示。
     */
    static List<Map<String, Object>> executeQueryDemo() {
        // 参数
        String sql = "select * from product_type where product_type_name=? and product_type_picture=?";
        Object[] params = new Object[]{"类型名称1", "图片1"};
        // 执行查询
        return JdbcUtil.executeQuery(sql, params);
    }

    /**
     * 工具类JdbcUtil,增删改使用演示。
     */
    static int executeUpdateDemo() {
        // 参数
        String sql = "insert into product_type(product_type_name, product_type_picture) values(?, ?)";
        Object[] params = new Object[]{"类型名称1", "图片1"};
        // 执行增删改
        return JdbcUtil.executeUpdate(sql, params);
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值