发表于: 2019-12-10 18:27:52
2 1392
今天完成的事情:
1.配置了一下pom.xml(不知道能用上哪个,看百度的教程配了这几个)
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jdbc -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>9.0.29</version>
</dependency>
2.之前没用过idea,学习了下idea的使用。
3.以配置文件的形式配置数据库相关属性(根据网上教程配置JDBC程序)
1)db.properties文件
是java中采用数据库连接池技术完成应用对数据库的操作的配置文件信息的文件
jdbc.user=root
jdbc.password=19980710
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc\:mysql\://127.0.0.1\:3306/test?useUnicode\=true&characterEncoding\=UTF-8
2)JdbcUtils(这部的代码看不太懂,复制过来把错误调好了)
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.apache.tomcat.jdbc.pool.DataSourceFactory;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public final class JdbcUtils {
/**
* 连接池类对象
*/
private static DataSource dataSource;
private JdbcUtils() {
}
// 注册驱动
static {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Properties prop = new Properties();
InputStream is = JdbcUtils.class.getClassLoader()
.getResourceAsStream("db.properties");
prop.load(is);
dataSource = BasicDataSourceFactory.createDataSource(prop);
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
/**
* 建立连接
*
* @return
* @throws SQLException
*/
public static Connection getConnect() throws SQLException {
return dataSource.getConnection();
}
/**
* 释放资源
*
* @param rs
* @param st
* @param conn
*/
public static void free(ResultSet rs, Statement st, Connection conn) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (st != null) {
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
}
3)JdbcTest(测试能不能读出数据库的数据)
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcTest {
public static void main(String[] args) throws SQLException {
template();
}
static void template() throws SQLException {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
// 建立连接
conn = JdbcUtils.getConnect();
// 创建语句
st = conn.createStatement();
// 执行语句
rs = st.executeQuery("select * from user");
while (rs.next()) {
System.out.println(rs.getObject(1)
+ "\t" + rs.getObject(2)
+ "\t" + rs.getObject(3));
}
} finally {
// 释放资源
JdbcUtils.free(rs, st, conn);
}
}
}
最后还是报错了,改了好多次还是这样,有很多警告,还是不太会用idea,不知道每个文件该写在什么位置,估计是我文件位置写错地方了吧。明天继续修改吧。
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class JdbcUtils
at JdbcTest.template(JdbcTest.java:29)
at JdbcTest.main(JdbcTest.java:8)
明天计划的事情: 继续学习JdbcTemplate,复习Java基础,慢慢完整任务吧。
遇到的问题: 很多问题,不知道从哪开始入手,基础不扎实,直接想完成任务很吃力。
收获:
1.maven中dependency的属性(依赖)配置
groupId,artfactId,version,type,classifier,scope,systemPath,exclusions,optional 是 maven的9种依赖属性,
其中groupId,artfactId,version是三个基本的依赖坐标,不可缺少。
groupId------包名(一般为域名的反写)。
artfactId------项目名。
version-------版本。
了解到配了pom.xml之后,就不用自己导jar包了,maven会自动下载。
2.了解了一点JdbcTemplate提供的方法
3.在这个网址可以下载各种jar包
https://mvnrepository.com/artifact/org.springframework/spring-jdbc
可以直接复制maven中dependency的属性(依赖)配置很方便
4.com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别
com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的。
评论