文章目录
一 认识、配置、使用Maven
简述Maven
①管理项目jar包的一个工具
②使用jar包更加便捷
③任何web开发都会用到
如何下载Maven
1.在官网中下载maven包,Maven官网
新建一个文件夹,把下载好的放进去,然后进行解压,我的是这样的。
2,.下载好后我们,进行配置环境变量(这和配置jdk的方式是一样的)
1)新建系统变量:MAVEN_HOME
变量值:D:\repository\apache-maven-3.5.0-bin\apache-maven-3.5.0-bin\apache-maven-3.5.0
(2)编辑系统变量:Path
添加变量值:%MAVEN_HOME%\bin
3.配置好后,检查一下看是否配置成功:用win键+R,进入dos命令,输入mvn -v,出现如下信息则表明成功!
初步使用Maven(另一种方式)
(1)首先对apache-maven-3.5.0-bin.rar解压
(2)配置conf文件夹下的settings.xml
(3)对本地仓库配置localRepository
(4)配置阿里镜像服务器mirrors标签内部
(5)上面都弄好以后,配置到Eclipse中,进入Eclipse
(6)找到preference中的maven>installation中配置解压路径
(7)配置用户设置(配置的是当前工作区间,maven项目创建需要的jar本地来源)
这样Maven就配置好了!!
初步了解JDBC,JDBC详细步骤
1.加载数据库驱动
// 1. 加载驱动
Class.forName(“com.mysql.jdbc.Driver”);
2.建立链接(Connection)
Jdbc程序中的Connection,它用于代表数据库的链接,Collection是数据库编程中最重要的一个对象,客户端与数据库所有交互都是通过connection对象完成的,创建方法为:
Connection conn = DriverManager.getConnection(url,user,pass);
这个对象的常用方法:
方法 | 描述 |
---|---|
createStatement() | 创建向数据库发送sql的statement对象。 |
prepareStatement(sql) | 创建向数据库发送预编译sql的PrepareSatement对象。 |
prepareCall(sql) | 创建执行存储过程的callableStatement对象。 |
setAutoCommit(boolean autoCommit) | 设置事务是否自动提交。 |
commit() | 在链接上提交事务。 |
rollback() | 在此链接上回滚事务。 |
// 2. 建立连接(?useSSL=false如果版本过高,可以用这个,jdk1.8版本的,可以不使用,我的是jdk11,版本过高 )
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/db_xiaoli?useSSL=false”, “root”, “123456”);
System.out.println(con);
3.获取预定义对象(书写SQL)
PreperedStatement是Statement的孩子,它的实例对象可以通过调用:
PreperedStatement st = conn.preparedStatement();
// 3. 预处理sql语句,查询出最近写的10篇博客的标题及摘要,展示到控制台
PreparedStatement pst = con.prepareStatement(“select * from t_p1_blog limit 10”);
4.执行SQL
Statement对象常用方法:
方法 | 含义 |
---|---|
executeQuery(String sql) | 用于向数据发送查询语句。 |
executeUpdate(String sql) | 用于向数据库发送insert、update或delete语句 |
execute(String sql) | 用于向数据库发送任意sql语句 |
addBatch(String sql) | 把多条sql语句放到一个批处理中。 |
executeBatch() | 向数据库发送一批sql语句执行。 |
// 4. 执行sql语句
ResultSet rs = pst.executeQuery();
5.处理SQL执行完的结果
// 5. 处理sql语句执行的结果
while (rs.next()) {
System.out.println(rs.getInt(“bid”) + “::” + rs.getString(“title”) + “::” + rs.getString(“summary”));
}
6.释放资源
释放资源顺序 :
①释放结果集的资源
②释放预定义对象的
③释放连接
// 6. 释放资源(连接,结果集、预定义对象)
rs.close();
pst.close();
con.close();
Maven和eclipse一起使用的注意事项
(1)maven的使用是必须要联网的
(2)MySQL5.1.44版本是jdk8匹配的
(3)上一次创建没有成功,在本地仓库中遗留了jar,但是jar又是缺省,解决方案就是删除/清空本地仓库的所有jar包
(4)个别电脑会出现SSL相关问题,解决方案在URL后拼接useSSL=fasle
(5)IDEA使用,MySQL的pom导入工程,工程中pom报红
产生原因:网络不稳定
解决办法:删除原有本地仓库相关的jar包
(6)包导错误的问题Connection…
二 用工具类封装JDBC
用工具类封装JDBC需要建不同的包来执行不同的类的代码
1.需要装实体类的包(entity)
public class Blog {
private int bid;
private String title;
private String summary;
public Blog(int bid, String title, String summary) {
super();
this.bid = bid;
this.title = title;
this.summary = summary;
}
public Blog() {
super();
}
public int getBid() {
return bid;
}
public void setBid(int bid) {
this.bid = bid;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
@Override
public String toString() {
return “Blog [bid=” + bid + “, title=” + title + “, summary=” + summary + “]”;
}
}
2.装数据库的包,一般是(dao)包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.newer.jdbc01.entity.Blog;
import com.newer.jdbc01.utils.DBAccess;
public class BlogDao extends BaseDao{
// 第三个版本
public List list() throws Exception{
return super.executeQuery(“select * from t_p1_blog limit 10”, Blog.class);
}
public static void main(String[] args) throws Exception {
BlogDao blogDao = new BlogDao();
List list = blogDao.list();
for (Blog b : list) {
System.out.println(b);
}
}
}
3.封装工具类的工具包(utils)
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
public class DBAccess {
// 加载驱动
private static String driver;
private static String url;
private static String userName;
private static String password;
static {
InputStream in = DBAccess.class.getResourceAsStream("/jdbc.properties");
Properties p = new Properties();
try {
p.load(in);
driver = p.getProperty(“mysql.driver”);
url = p.getProperty(“mysql.url”);
userName = p.getProperty(“mysql.userName”);
password = p.getProperty(“mysql.password”);
Class.forName(driver);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url,userName,password);
}
public static void close(ResultSet rs,PreparedStatement pst,Connection con) throws SQLException {
close(rs);
close(pst);
close(con);
}
private static void close(Connection con) throws SQLException {
if(con != null) {
con.close();
}
}
private static void close(PreparedStatement pst) throws SQLException {
if(pst != null) {
pst.close();
}
}
public static void close(ResultSet rs) throws SQLException {
if(rs != null) {
rs.close();
}
}
}