JDBC

1、数据库连接

a、加载数据库驱动程序(要把驱动加载到方法区)

Class.forName("com.mysql.jdbc.Driver");

b、利用驱动管理器获取数据库连接

Connection conn=DriverManager.getConnection(url,"root","root");

url解释

jdbc:mysql://localhost:3306:scott?useUnicode=true&charcterEncoding=utf8

jdbc:主协议

mysql:次协议

localhost:地址

3306:进入mysql默认的端口号(1521是oracle的默认端口号)

scott:数据库名字

localhost:3306 此段可以省略

?useUnicode=true&charcterEncoding=utf8:代表支持中文,从eclipse存储数据支持中文


2、获取SQL语句对象

PreparedStatement pst=conn.prepareStatement(sql);

在括号内填写sql语句

3、获取查询结果(如果是查询语句)

ResultSet rs=pst.executeQuery();

4、遍历结果集

while(rs.next()){

int empno=rs.getInt("empno");

System.out.println(empno);

}

5、关闭conn/pst/rs

注:

接数据库中对于日期的处理

使用Date接从mysql中查出的数据时可以引入的Date包有java,util或者为java.sql


1、在查询处用数据库中函数进行转格式(需要做一个别名)

2、在java中用SimpleDateFormat进行格式转换(如果此时有null日期则会报空指针错,可以用三元运算符处理)



错误总结:

-引包错误(都应该引入sql包中的接口和类)

-url书写错误(协议书写错误,连接数据库地址错误,数据库名称错误)

-用户名以及密码书写错误

查询相关:

ResultSet rs=pst.executeQuery();

while(rs.next()){

int empno=rs.getInt("empno");

String ename=rs.getString("ename");

Double sal=rs.getDouble("sal");

Date hiredate =rs.getDate("hiredate");

System.out.println(empno+","+ename+","+sal+","+hiredate);

}

增删改相关:

conn.setAutoCommit(false);(将自动提交关闭防止事物一致性被损坏,一定要加)

在pst.executeUpdate()后要记得

conn.commit();

在catch块中级的

conn.rollback()


****配置文件,DBUtils

a、节省资源--单利

b、关闭原则--配置文件方式


常见错误

a、配置文件必须在src下(classpath)

b、配置信息中不要有多有的符号如“”“”


员工打卡记录

1、建表

2、


注意Scanner 特殊情况

当输入一个数字,在输入一行文字时:如

int i=Sc.nextInt();

String str=sc.nextLine();

此时出现自动跳过字符串的输入,是因为nextLine();自动接了一个回车,处理方式为

int i=Sc.nextInt();

sc,nextLine();

String str=sc.nextLine();

你可能感兴趣的:(JDBC)