下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查

之后我们打开Eclipse:
选择项目->new->folder
下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查_第1张图片
然后我们将jre7和jre8文件夹的拓展包拖进创建的文件夹
下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查_第2张图片
之后我们右键这两个文件->build path->add to build path会出现:
在这里插入图片描述
然后我们创建一个包和两个class
下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查_第3张图片
JdbcUtil.java

package com.tedu;
/** 
* @author 作者 E-mail: [email protected]
* @version 创建时间:2020年5月10日 上午10:33:26 
* 类说明 
*/
import java.sql.*;
public class JdbcUtil {
     
  /**
   * 获取数据库连接对象并返回
   * @return Connection对象
   * @throws Exception
   */
  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.*;
/** 
* @author 作者 E-mail: [email protected]
* @version 创建时间:2020年5月10日 上午10:32:20 
* 基于jdbc和sql server
*/
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 权限。
下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查_第4张图片
这是因为Microsoft SQL sever Managerment Studio权限没有给够,我们不能够对表进行查询修改等功能。
解决方法:
我们打开我们需要操作的数据库->安全性->架构->dbo
下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查_第5张图片
然后对dbo右键属性【权限】->搜索->浏览【public】->确定
下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查_第6张图片
对选择的用户进行权限的解锁
之后就可以运行了
运行截图:
下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查_第7张图片

下篇:JDBC(Eclipse和Microsoft SQL sever Managerment Studio连接)以及实现简单的基本表增删改查_第8张图片

参考内容:
https://www.cnblogs.com/lqLove/p/5851011.html
https://b23.tv/BV1ka4y1x7M6

你可能感兴趣的:(菜鸟日常,java,数据库,sql,jdbc)