jdbc入门

简洁代码:

package com.services;
import java.sql.DriverManager;//驱动管理器
import java.sql.Connection;   //连接对象
import java.sql.PreparedStatement; //语句对象


public class PublicServices{
public boolean addStudent(String...val) throws Exception
{
//1.定义驱动串
String driver = "com.mysql.jdbc.Driver";
//2.定义连接串
String url = "jdbc:mysql://localhost/first?characterEncoding=GBK";
//3.加载驱动
Class.forName(driver);
//4.创建连接
Connection conn = DriverManager.getConnection(url,"root", "");
//验证是否连接上数据库
System.out.println(conn);
 
 
//5.定义sql
StringBuilder sql = new StringBuilder()
.append("insert into student(sno,sname,ssex,sage,sdept)")
.append("values(?,?,?,?,?)")//括号里面的是sql语句,?是不确定的数值,需要赋值,以1开始计数
;
//6.编译sql
PreparedStatement pstm = conn.prepareStatement(sql.toString());
//7.参数赋值
int index = 1; //给数组下标赋值,可以不写
for(String abc:val)
{
pstm.setObject(index++,abc);
}
//8执行sql并还回结果
return pstm.executeUpdate() > 0;
}
}




附有详细解释代码

package com.services;
import java.sql.DriverManager;//驱动管理器
import java.sql.Connection;   //连接对象
import java.sql.PreparedStatement; //语句对象


public class PublicServices {
public boolean addStudent( String...val)throws Exception
{
//1.导入当前系统的jdbc驱动jar包的核心类所在的路径
String driver = "com.mysql.jdbc.Driver";
//2.定义字符串变量,描述数据库的所在位置
String url = "jdbc:mysql://localhost/first?characterEncoding=GBK";
//jdbc:mysql://是固定不变的 localhost是当前数据库所在的计算机,first是当前数据库的名称,characterEncoding=GBK是说可以用中文连接数据库
//3.加载驱动核心类到内存  (通过反射机制,将driver中描述的类在内存中实例化,语法上相当于new Driver)
Class.forName(driver);
//4.通过驱动管理器创建到目标数据库的连接对象
//Connection conn = DriverManager.getConnection(url, user, password)
//当用户为超级用户root,密码为空时的代码如下
Connection conn = DriverManager.getConnection(url,"root", "");
//数据库的连接告一段落,可以在这里输出结果,看数据库是否连接成功
System.out.println(conn);


//5.定义程序中需要执行的sql语句
StringBuilder sql = new StringBuilder()
.append("insert into student(sno,sname,ssex,sage,sdept)")
.append("values(?,?,?,?,?)")//括号里面的是sql语句,?是不确定的数值,需要赋值,以1开始计数
;
//6.通过连接对象编译sql语句,生成语句对象
PreparedStatement pstm = conn.prepareStatement(sql.toString());
//7.为语句对象中的参数赋初值
int index = 1; //给数组下标赋值,可以不写
for(String abc:val)
{
pstm.setObject(index++,abc);
}
//执行sql并还回结果
return pstm.executeUpdate() > 0;
}
}



主函数

package test;
import com.services.*; //导入连接语句所在的包


public class PublicTest {


public static void main(String[] args) {
try{
PublicServices ps = new PublicServices();
String val[] = {"201407090","肖晓","男","18","IS"};//数值要与数据库中的对应
boolean flag =ps.addStudent(val);
System.out.println(flag);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值