发表于: 2019-10-14 22:45:01
1 915
今天完成的事情:
1. 上午 写了一个jdbc增删查改的模板
里面的注释 都是根据自己的理解写出的
可能有些不对,但大概理解了每段代码作用
package ptteng;
//导入包
import java.sql.*;
public class JdbcUtil {
//声明connection对象
private static Connection Connection;
//声明preparedstatement对象
private static PreparedStatement ps;
//创建3个成员变量 且赋值
private static String url = "jdbc:mysql://localhost:3306/student?characterEncoding=UTF-8";
private static String user = "root";private static String pass = "451976";
//必须返回connection的方法
public static Connection getConnection(){
try {
//1加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2返回 connection connection 为连接数据库的结果
return Connection = DriverManager.getConnection(url, user, pass);
//捕捉所有的异常
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void close(ResultSet rs, Statement stmt,Connection connection){//栈式关闭(最先连接,最后关闭连接)
try{
//关闭结果集 如果结果集不是空的,则关闭
if(rs!=null) rs.close();
}catch (SQLException e){
e.printStackTrace();
}
try{
//关闭sql语句 如果preparedstatement 不是空的 则 关闭
if(ps!=null) ps.close();
if(stmt!=null) stmt.close();
}catch (SQLException e){
e.printStackTrace();
}
try{
//关闭连接 如果connection不是空的 则关闭
if(connection!=null) connection.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
用这个工具进行了
查
package ptteng;
//导入sql包
import java.sql.*;
public class select {
//声明 preparedstatement 和 resultset 对象
private static PreparedStatement ps =null;
private static ResultSet rs = null;
//入口
public static void main(String[] args){
/*获取与jdbcutil的连接
*即执行JdbcUtil中的getconnection方法
* 完成了
* 1.加载驱动
* 2.连接数据库
*/
Connection connection =JdbcUtil.getConnection();
try {
String sql="select * from bj";
//执行语句
ps = connection.prepareStatement(sql);
//存放结果集
rs =ps.executeQuery(sql);
//游标结果集不为空,则输出 且在while中循环
while (rs.next()){
//输出 int结果是 rs.getInt("名称")
// string结果为 rs.getString("名称")
System.out.println(rs.getInt("id"));
System.out.println(rs.getString("name"));
}
System.out.println("查询成功!");
//捕获数据库连接失败错误
} catch (SQLException e) {
e.printStackTrace();
//最终 关闭结果集rs sql语句执行类对象ps 关闭与jdbc的连接connection
}finally {
JdbcUtil.close(rs,ps,connection);
}
}
}
增删改就不放了
都是更改sql语句 修改结果集代码 隐藏while(re,next)
自己写代码执行都是成功的
2.jdbctemplate
自己看了一下午 还是不明白
百度jdbctemplate的教程 方法不同
配置文件不一样 需要的Jar包不一样
比如这个需要导入c3p0依赖
这个又换了一种方式 不导入了 使用datasource语法也变了
applicationcontext.xml 配置完 下个流程就大片爆红
看师兄的日报还要写 用户层 DAO 服务层 测试 也没实现
自己的学习方法可能有问题...
想先跳过这个 去看mybatis了...
3.看基础知识
抽象类
个人总结:
抽象类 和 抽象方法
都用abstract来定义
抽象类无法被实例化 但可以被继承
继承后 子类实例化 从而实现抽象类中的方法
抽象方法
不能添加方法块
子类继承后 才能在子类中写入方法块
开始搞不懂为什么要有抽象类
看了这个回答,感觉清晰了许多
封装
想要访问
只能通过getter 和setter方法
接口
接口不是类
是抽象方法的集合
通过interface定义接口 :
如果一个类想要实现接口:
则必须实现接口中的所有抽象方法
继承语法:
接口可以被另一个接口继承 :
须添加interface关键字
但也必须实现 父类接口里的 所有抽象方法
public interface Football extends Sports
其他知识
1. idea如何创建.properties 及 .xml(属性配置文件)文件
https://blog.csdn.net/u013164931/article/details/76283884
明天计划的事情:
上午看jdbctemplate 如果上午还没看明白配置流程
就去学习mybatis - - 不想再在jdbctemplate上浪费时间了
遇到的问题:
jdbctemplate看不懂
师兄有没有好的文章或者博客借鉴
师弟感激不尽...
收获:
对抽象类 封装 接口知识 更明白了
评论