项目初始流程:
首先说一下pom.xml文件的依赖:
junit junit 4.12 test javax.servlet javax.servlet-api 4.0.1 provided org.slf4j slf4j-log4j12 1.7.2 org.slf4j slf4j-api 1.7.2 mysql mysql-connector-java 8.0.19 com.alibaba fastjson 1.2.62 cn.hutool hutool-all 5.4.7 commons-io commons-io 2.4 commons-fileupload commons-fileupload 1.3.1 javax.servlet jstl 1.2 org.projectlombok lombok 1.18.12 provided lezijie-note org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.8 UTF-8 org.apache.tomcat.maven tomcat7-maven-plugin 2.1 8080 /note tomcat7
数据库的建立于一开始的分层:
db.properties:
# 连接MYSQL数据库的配置文件 注:等号的前后不要写空格 # 驱动名 jdbcName=com.mysql.cj.jdbc.Driver # 数据库连接 ( db_lezijie_note是数据库的名称) dbUrl=jdbc:mysql://localhost:3306/db_lezijie_note?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false # 数据库的连接账号 (账号基本上都是root) dbName=root # 数据库的连接密码 (每个人的数据库密码可能不一致,需要修改) dbPwd=root
首先创建数据库连接的工具类:DBUtil
1:得到配置文件对象:
/** * 得到配置文件对象 */ private static Properties properties = new Properties(); static { try { //加载配置文件(输入流) InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties"); // 通过load()方法将数日六的内容加载到配置文件对象中 properties.load(in); // 通过配置文件对象的getProperty()方法获取驱动名,拿到驱动名之后加载驱动 Class.forName(properties.getProperty("jdbcName")); } catch (Exception e) { e.printStackTrace(); } }
2:获取数据库连接:
/** * 获取数据库连接 * @return */ public static Connection getConnection(){ Connection connection = null; try { //得到数据库链接的相关性息 String dbUrl = properties.getProperty("dbUrl"); String dbName = properties.getProperty("dbName"); String dbPwd = properties.getProperty("dbPwd"); connection = DriverManager.getConnection(dbUrl,dbName,dbPwd); } catch (SQLException throwables) { throwables.printStackTrace(); } return connection; }
3:关闭资源:
/** * 关闭资源 * @param resultSet * @param preparedStatement * @param connection */ public static void close(ResultSet resultSet, PreparedStatement preparedStatement, Connection connection){ //判断资源对象如果不为空则关闭 try { if (resultSet != null) { resultSet.close(); } if (preparedStatement != null) { preparedStatement.close(); } if (connection != null) { connection.close(); } }catch (SQLException throwables) { throwables.printStackTrace(); } }
DBUtil类全部代码:
package com.ftzlovedsj.util; import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties; /** * @author ${范涛之} * @Description * @create 2021-11-14 19:02 */ public class DBUtil { /** * 得到配置文件对象 */ private static Properties properties = new Properties(); static { try { //加载配置文件(输入流) InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties"); // 通过load()方法将数日六的内容加载到配置文件对象中 properties.load(in); // 通过配置文件对象的getProperty()方法获取驱动名,拿到驱动名之后加载驱动 Class.forName(properties.getProperty("jdbcName")); } catch (Exception e) { e.printStackTrace(); } } /** * 获取数据库连接 * @return */ public static Connection getConnection(){ Connection connection = null; try { //得到数据库链接的相关性息 String dbUrl = properties.getProperty("dbUrl"); String dbName = properties.getProperty("dbName"); String dbPwd = properties.getProperty("dbPwd"); connection = DriverManager.getConnection(dbUrl,dbName,dbPwd); } catch (SQLException throwables) { throwables.printStackTrace(); } return connection; } /** * 关闭资源 * @param resultSet * @param preparedStatement * @param connection */ public static void close(ResultSet resultSet, PreparedStatement preparedStatement, Connection connection){ //判断资源对象如果不为空则关闭 try { if (resultSet != null) { resultSet.close(); } if (preparedStatement != null) { preparedStatement.close(); } if (connection != null) { connection.close(); } }catch (SQLException throwables) { throwables.printStackTrace(); } } }
在写好连接后我们需要写一个测试类来判断数据库是否真正连接成功:
然后编写测试代码:TestDB类:
package com.ftzlovedsj; import com.ftzlovedsj.util.DBUtil; import org.junit.Test; /** * @author ${范涛之} * @Description * @create 2021-11-14 19:30 */ public class TestDB { /** * 单元测试方法 * 1. 方法的返回值,建议使用void,一般没有返回值 * 2. 参数列表,建议空参,一般是没有参数 * 3. 方法上需要设置@Test注解 * 4. 每个方法都能独立运行 * * 判定结果: * 绿色:成功 * 红色:失败 */ @Test public void testDB(){ System.out.println(DBUtil.getConnetion()); } }
这里倘若出现了报错有可能的原因是你没有在pom文件里面导入mysql连接包:
运行成功后:
使用日志:
使用日志
配置文件
在 src/main/resources 目录下,新建 log4j.properties 文件
### 设置###stdout, log4j.rootLogger = all,D,E,stdout ### 输出信息到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n ### 输出DEBUG 级别以上的日志到=D://logs/log.log ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = D://logs/log.log log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 输出ERROR 级别以上的日志到=E://logs/error.log ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File =E://logs/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ]
使用方式
// 使用日志工厂类,记入日志 private static Logger logger = LoggerFactory.getLogger(DBUtil.class);
// 记录日志 logger.info("在{}时,获取数据库连接", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
TestDB:
package com.ftzlovedsj; import com.ftzlovedsj.util.DBUtil; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author ${范涛之} * @Description * @create 2021-11-14 19:30 */ public class TestDB { // 使用日志工厂类,记录日志 private Logger logger = LoggerFactory.getLogger(TestDB.class); /** * 单元测试方法 * 1. 方法的返回值,建议使用void,一般没有返回值 * 2. 参数列表,建议空参,一般是没有参数 * 3. 方法上需要设置@Test注解 * 4. 每个方法都能独立运行 * * 判定结果: * 绿色:成功 * 红色:失败 */ @Test public void testDB(){ System.out.println(DBUtil.getConnetion()); //使用日志 logger.info("获取数据库连接:" + DBUtil.getConnetion()); logger.info("获取数据库连接:{}", DBUtil.getConnetion()); } }
到此这篇关于javaweb 项目初始配置的方法步骤的文章就介绍到这了,更多相关javaweb 项目初始配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!