之后我们打开Eclipse:
选择项目->new->folder
然后我们将jre7和jre8文件夹的拓展包拖进创建的文件夹
之后我们右键这两个文件->build path->add to build path会出现:
然后我们创建一个包和两个class
JdbcUtil.java
package com.tedu;
import java.sql.*;
public class JdbcUtil {
public static Connection getConn() throws Exception{
//1.注册驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2.获取连接
Connection conn =DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DatabaseName=studb",
"root",
"123456");
return conn;
}
public static void close(Connection conn,Statement stat,ResultSet rs) {
if(rs!=null) {
try {
rs.close();
}catch(SQLException e) {
e.printStackTrace();
}finally {
rs=null;
}
}
}
}
StuManager.java
package com.tedu;
import java.sql.*;
import java.util.*;
public class StuManager {
private static Scanner s1=new Scanner(System.in);
public static void main(String[] args) {
stage();
}
private static void stage() {
System.out.print("a:查询学生信息");
System.out.print("b:添加学生信息");
System.out.print("c:修改学生信息");
System.out.print("d:删除学生信息");
System.out.print("请输入:");
String opt=s1.next();
if(opt.equalsIgnoreCase("a")) {
findAll();
}
else if(opt.equalsIgnoreCase("b")) {
addStu();
}
else if(opt.equalsIgnoreCase("c")) {
updateStu();
}
else if(opt.equalsIgnoreCase("d")) {
deleteStu();
}
else {
System.out.println("输入有误,请重试");
}
}
private static void findAll() {
Connection conn=null;
Statement stat=null;
ResultSet rs=null;
try {
//注册驱动并获取连接
conn=JdbcUtil.getConn();
//获取传输器,执行SQL语句
stat = conn.createStatement();
String sql ="select * from StudentInfo";
rs = stat.executeQuery( sql );
//处理结果
while(rs.next()) {
int sno =rs.getInt("sno");
String sname =rs.getString("sname");
System.out.println(sno+","+sname);
}
//System.out.println("__________________");
}catch(Exception e) {
e.printStackTrace();
}finally {
//释放资源
JdbcUtil.close(conn, stat, rs);
}
stage();
}
private static void addStu() {
System.out.println("请输入要添加的学号,姓名(空格间隔):");
int sno =s1.nextInt();
String sname =s1.next();
Connection conn=null;
//Statement stat=null;
PreparedStatement ps =null;
ResultSet rs=null;
try {
//注册驱动并获取连接
conn=JdbcUtil.getConn();
//获取传输器,执行SQL语句
String sql ="insert into Studentinfo values(?,?,null,null,null)";
ps = conn.prepareStatement(sql);
//设置SQL语句参数
ps.setInt(1, sno);
ps.setString(2, sname);
//执行sql语句
int rows = ps.executeUpdate();//不要二次传入Sql
if(rows>0) {
System.out.println("学生信息添加成功!");
}
System.out.println("__________________");
}catch(Exception e) {
e.printStackTrace();
}finally {
//释放资源
JdbcUtil.close(conn, ps, rs);
}
stage();
}
private static void updateStu() {
//提示用户输入修改后的学生信息
System.out.println("请输入修改的学生学号,姓名(空格隔开):");
int sno =s1.nextInt();
String sname =s1.next();
Connection conn=null;
//Statement stat=null;
PreparedStatement ps =null;
ResultSet rs=null;
try {
//注册驱动并获取连接
conn=JdbcUtil.getConn();
//获取传输器,执行SQL语句
String sql ="update Studentinfo set sname=? where sno=?";
ps = conn.prepareStatement(sql);
//设置SQL语句参数
ps.setInt(2, sno);
ps.setString(1, sname);
//执行sql语句
int rows = ps.executeUpdate();//不要二次传入Sql
if(rows>0) {
System.out.println("学生信息修改成功!");
}
System.out.println("__________________");
}catch(Exception e) {
e.printStackTrace();
}finally {
//释放资源
JdbcUtil.close(conn,ps , rs);
}
stage();
}
private static void deleteStu() {
System.out.println("请输入要删除的学生学号:");
int sno =s1.nextInt();
Connection conn=null;
PreparedStatement ps =null;
//Statement stat=null;
ResultSet rs=null;
try {
//注册驱动并获取连接
conn=JdbcUtil.getConn();
//获取传输器,执行SQL语句
String sql ="delete from StudentInfo where sno=?";
ps = conn.prepareStatement(sql);
//设置SQL语句参数
ps.setInt(1, sno);
//执行sql语句
int rows = ps.executeUpdate();//不要二次传入Sql
if(rows>0) {
System.out.println("学生信息删除成功!");
}
System.out.println("__________________");
}catch(Exception e) {
e.printStackTrace();
}finally {
//释放资源
JdbcUtil.close(conn, ps, rs);
}
stage();
}
}
这里是建立连接,我们要把这里的数据改成自己数据库的信息:
Connection conn =DriverManager.getConnection(
“jdbc:sqlserver://localhost:1433;DatabaseName=studb”,
“root”,
“123456”);
return conn;
同时运行一般会出现这个错误:
拒绝了对对象‘ ’(‘数据库’*‘,架构’dbo‘) 的 SELECT 权限。
这是因为Microsoft SQL sever Managerment Studio权限没有给够,我们不能够对表进行查询修改等功能。
解决方法:
我们打开我们需要操作的数据库->安全性->架构->dbo
然后对dbo右键属性【权限】->搜索->浏览【public】->确定
对选择的用户进行权限的解锁
之后就可以运行了
运行截图:
参考内容:
https://www.cnblogs.com/lqLove/p/5851011.html
https://b23.tv/BV1ka4y1x7M6