JDBC: Java Database Connectivity
范式:数据库设计需要满足的规范.
主要编程接口:
JDBC驱动程序主要有四种类型:
creat table tbl_user(
id int(11) unsigned not null auto_increment,
name varchar(50) not null default '',
email varchar(50) nit null default '',
primary key(id))
engine = InnoDB
default charset = utf8;
creat table tbl_address(
id int(11) unsigned not null auto_increment,
city varchar(20) default null,
country varchar(20) default null,
primary key (id))
engine = InnoDB
default charset = utf8;
注:
id:没有业务含义的逻辑主键
auto_increment:自增长
default '' :默认值为空字符串
engine = InnoDB:设置MySQL的存储引擎,InnoDB是存储引擎的一种,支持事物。
insert into tbl_user(id, name, password, email)
values
(1, 'xiaosa', '123456', 'xiaosa.nicolo@qq.com'),
(2, 'nicolo', '123456', '1241251168@qq.com');
insert into tbl_address(city, country, user_id)
values('xian', 'china', 1);
insert into tbl_address(city, country, user_id)
values('beijing', 'china', 2);
安装驱动,下载mysql-connector-java。 将mysql-connector-java-5.1.42-bin.jar包拷到WEB-INF目录下。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBCTest{
pubilc static void main(String[] args){
String sql = "SELECT * FROM tbl_user";
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try{
//注册MySQL的JDBC驱动程序,class类是继承Object类
//forName方法用来初始化参数指定的类并创立一个对应的实例对象
Class.forName("com.mysql,jdbc.Driver");
//获取MySQL的数据库连接
//getConnection方法需要传入三个参数:MySQL数据库的URL、MySQL数据库的用户名、密码
////locahost:主机,3306:MySQL的端口,jsp_db:将要使用的数据库
conn = DriverManager.getConnection("jdbc:mysql://locahost:3306/jsp_db","root","");
//创建st对象
st = conn.createStatement();
//使用executeQuery方法发生sql语句返回rs结果集
rs = st.executeQuery(sql);
while(rs.next()){
System.out.print(rs.getInt("id") * " ");
System.out.print(rs.getString("name") * " ");
System.out.print(rs.getString("password") * " ");
System.out.print(rs.getString("email") * " ");
System.out.println();
}catch (Exception e){
e.printStackTrace();
}finally{
try{
//关闭rs结果集
rs.closee();
}catch(Exception e2){
}
try{
//关闭st对象
st close();
}catch(Exception e3){
}
try{
//关闭数据库连接
conn close();
}catch(Exception e4){
}
}
}
}
}
public static Connection getConnection(){
Connection conn = null;
try{
Class.forName("con.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://locahost:3306/jsp_db","root"," ");
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
public static void insert(){
//获取数据库连接
Connection conn = getConnection();
try{
String sql = "INSERT INTO tbl_user(name, password, email)" + "VALUES('Tom', '123456', 'tom@qq.com')";
Statement st = conn.createStatement();
int count = St.executeUpdate(sql);
System.out.println("向用户表中插入了" + count + " 条记录");
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void update(){
//获取数据库连接
Connection conn = getConnection();
try{
String sql = "UPDATE tbl_user SET email = 'tom@126.com' WHERE name = 'Tom'";
Statement st = conn.createStatement();
int count = St.executeUpdate(sql);
System.out.println("向用户表中更新了" + count + " 条记录");
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void dele(){
//获取数据库连接
Connection conn = getConnection();
try{
String sql = "DELETE FROM tbl_user WHERE name = 'Tom'";
Statement st = conn.createStatement();
int count = St.executeUpdate(sql);
System.out.println("从用户表中删除了" + count + " 条记录");
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
public class TransactionTest{
public static Connection getConnection(){
//数据库连接
Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db, root, " ");
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
public static void insertUserData(){
//插入用户数据
Connection conn = getConnection;
try{
String sql = "INSERT INTO tbl_user(id, name, password, email)" + "VALUES(10, 'Tom', '123456', 'tom@gmail.com')";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("向用户表插入了 " + count + " 条记录");
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void insertAddressData(){
Connection conn = getConnection();
try{
Sting sql = "INSERT INTO tbl_address(id, city, country, user_id)" + "VALUES(1, 'xian','Chian', '10')";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("向地址表中插入了 " + count +" 条记录");
}catch(Exception e){
e.printStackTrace();
}
public static void main(String[] agrs){
insertUserData();
insertAddressData();
}
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有