六、使用JDBC访问MySQL
6.1、下载驱动
6.2、JDBC访问MySQL
示例一:
package jdbctest;
import java.math.BigDecimal;
import java.sql.*;
import java.util.Scanner;
public class GoodsDao {
static {
try {
/*加载驱动*/
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
/**添加*/
insert();
/**查询*/
select();
}
/**查询*/
private static void select() {
try {
/**获得连接对象*/
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/nfmall?useUnicode=true&characterEncoding=UTF-8", "root", "123");
/**创建sql命令对象*/
PreparedStatement statement=conn.prepareStatement("SELECT goods.id, goods.title, goods.category_id, goods.add_date, goods.picture, goods.state, goods.details, goods.price, category.`name`, category.parentId FROM goods INNER JOIN category ON goods.category_id = category.id where price>=?");
//设置参数
statement.setInt(1,1000);
//执行并获得结果集
ResultSet result=statement.executeQuery();
//遍历结果集
while (result.next()){
//在当前行根据列名获得数据
String title=result .getString("title");
BigDecimal price=result.getBigDecimal("price");
System.out.println(title+"\t"+price);
}
//关闭
result.close();
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**添加*/
private static void insert() {
try {
//输入用的扫描器
Scanner input=new Scanner(System.in);
/**获得连接对象*/
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/nfmall?useUnicode=true&characterEncoding=UTF-8", "root", "123");
/**创建sql命令对象*/
PreparedStatement statement=conn.prepareStatement("insert into goods(title,category_id,picture,price,details,state) VALUES(?,?,?,?,?,default);");
System.out.print("名称:");
String title=input.next();
System.out.print("类型:");
int cateId=input.nextInt();
System.out.print("图片:");
String picture=input.next();
System.out.print("价格:");
BigDecimal price=input.nextBigDecimal();
System.out.print("详细:");
String details=input.next();
//设置参数
statement.setString(1,title);
statement.setInt(2,cateId);
statement.setString(3,picture);
statement.setBigDecimal(4,price);
statement.setString(5,details);
//执行并获得影响行数
int rows=statement.executeUpdate();
System.out.println("执行:"+(rows>0?"成功":"失败"));
//关闭
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果:
JDBC工具类(带简单映射):
View Code
七、下载程序、帮助、视频
MySQL绿色版下载地址1:https://pan.baidu.com/s/1hrS5KUw 密码: sug9
MySQL绿色版下载地址2:http://download.csdn.net/detail/zhangguo5/9773842
MySQL文档下载1:https://pan.baidu.com/s/1nuGQo57 密码: 898h
MySQL文档下载2:http://download.csdn.net/detail/zhangguo5/9774115
MySQL5.5.27_64位安装包下载地址1: https://pan.baidu.com/s/1minwz1m 密码: ispn
MySQL5.5.27_64位安装包下载地址2: http://download.csdn.net/detail/zhangguo5/9775460
MySQL5.7.17安装包官网下载地址: https://dev.mysql.com/downloads/windows/installer/
视频:https://www.bilibili.com/video/av30777062/
文档中没有您可以查帮助:
八、作业
8.1、使用javascript实现身份证校验与信息提取。
校验:校验身份证是否正确,如出生的年月日,最后一位校验码是否符合规则
信息提取:位置,生日,性别;位置信息存储到MySQL数据库中,使用ajax获取
8.2、SQL强化练习,请点击进入
8.3、请使用JDBC完成8.2中学生表的CRUD,只需在控制器台操作即可。