Java连接Sqlserver数据库小白包会

java学习 专栏收录该内容
3 篇文章 0 订阅

Sqlserver设置账号密码登陆

为了再java中连接sqlserver数据库,我们需要利用账号密码进行数据库的登陆。

操作如下:

0x01:

在这里插入图片描述
我们第一次登陆是通过windons身份验证直接可以连接数据库。

0x02:

在这里插入图片描述
在这里插入图片描述
进入安全性,设置SQL serverwindows身份验证模式。点击确定
即可。

0x03:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置完密码之后我们需要重新启动数据库:
在这里插入图片描述
测试连接:
通上步操作:右键 -> 连接 -> 使用sql server身份进行验证
在这里插入图片描述
在这里插入图片描述

JAVA配置部分

操作如下

0x01:

下载sqljdbc:

链接:https://pan.baidu.com/s/1BRZiXIHP3VtdMiuOkrfj-Q
提取码:tyu0

什么是JDBC技术:

JDBC技术全称是Java DataBase Connectivity,是一套面向对象的应用程序接口,指定了统一的访问关系型数据库的标准接口。JDBC是一种底层的API,因此访问数据库的时候需要在业务逻辑层中嵌入SQL语句。SQL语句是面向关系的,依赖于关系模型,所有通过JDBC技术访问数据库也是面向关系的。JDBC技术主要完成以下几个任务:

  • 与数据库建立一个连接。
  • 向数据库发送SQL语句。
  • 处理从数据库返回的结果。

0x02:

下载sqljdbc后,我们打开eclipse进行配置
首先
我们新建一个文件夹如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接着:
我们把下载好的sqljdbc直接赋值到改文件夹下:
在这里插入图片描述
在这里插入图片描述
我们进行路径配置:打开后你的页面如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试数据库连接

0x01:

本地测试:

使用talnet命名进行测试
talnet 127.0.0.1 1433
出现如下页面代表连接成功
在这里插入图片描述
若提示“不能打开到主机的连接,在端口 1433: 连接失败”,则说明1433端口没有打开,需要进行以下配置。然后重启数据库,重启完毕后,接下来继续使用命令测试1433端口是否打开。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果是显示telnet不是内部命令:参考https://jingyan.baidu.com/article/7c6fb428d60c6e80642c90ee.html

0x02:

Eclipse中进行测试:

新建DBManager类:
并且在module-info.java中添加如下图所示代码:
在这里插入图片描述
测试代码:

package gmc.zll;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class DBManager {
	private Connection con;
	private Statement sta;
	private ResultSet rs;
	/********************静态块可以提高效率***********/
	static {
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	/**
	 * 加载驱动程序
	 */
	
	public Connection getConnection(){
	/****1433是你自己的SQLserver端口号(默认是1433)*********/
	/**************DatabaseName是你要连接的数据库名称*********/
		String url = "jdbc:sqlserver://localhost:1433;DatabaseName=teaching";
		try {
			/**第一个sa是你的SQLserver用户名,第二个是此用户名所对应的密码***/
			con = DriverManager.getConnection(url, "sa", "123456");
			sta = con.createStatement();
			System.out.println("链接成功");
		} catch (SQLException e) {
			System.out.println("连接失败");
			e.printStackTrace();
		}
		
		return con;
	}
	
	public ResultSet query(String sql){
		con = getConnection();
		try {
			rs = sta.executeQuery(sql);
			while(rs.next()) {
				String sno = rs.getString("sno");
				String cno = rs.getString("cno");
				String score = rs.getString("score");
				System.out.print("学号"+sno+' ');
				System.out.print("课程号"+cno+' ');
				System.out.print("分数"+score+' ');
				System.out.print("\n");
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(rs);
		return rs;
	}

	public static void main(String[] args){
		DBManager c = new DBManager();
		c.getConnection();
		String sql = "select * from sc";
		c.query(sql);
	}
}


测试结果:
在这里插入图片描述
数据库内容:
在这里插入图片描述

参考连接:

[1] https://blog.csdn.net/lq1759336950/article/details/87527914
[2] https://www.cnblogs.com/chenlove/p/9159227.html
[3] https://jingyan.baidu.com/article/7c6fb428d60c6e80642c90ee.html
[4] https://jingyan.baidu.com/article/f3e34a12c55af7f5ea653549.html

import java.sql.*; import jdbc.DBManager; import jdbc.DBManagerTest; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author * @version 1.0 */ /** * DBManager示例程序 */ public class Test { public Test() { } public static void main(String[] args) { DBManagerTest DBManagerTest1 = new DBManagerTest(); DBManager db_manager = new DBManager(); ResultSet result = null; // 数据库查询结果 try { db_manager.connect("rcms"); // 建表 db_manager .execute("create table table22 (c1 varchar(32) not null,c2 varchar(21))"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表更新操作,包括insert,update,delete db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow1','engine1')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow2','engine2')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow3','engine3')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow4','engine4')"); db_manager.beginTransaction(); // for(int i=1500;i<2000;i++){ //// db_manager.executeUpdate("insert into T_USER (USER_ID, USER_NAME, ORG_ID, PASSWD, OLD_PASSWD, STATION, CREAT_DATE, CREAT_TIME, ALTER_DATE, ALTER_TIME, DEL_DATE, TEL, EMAIL, STATUS, SEX, ACADEMIC, CERTI_TYPE, CERTI, FAX, ADRESS, POSTCODE, BAK1, BAK2, BAK3, BAK4, BAK5)values ('test00"+i+"', 'test00"+i+"', '0001 ', 'FF5E61835C355E755EEF9321 ', 'A43B59E342F86CEE5EEF9321 ', '0 ', '20071201', '101010', null, null, null, null, null, '1', null, null, null, null, null, null, null, null, null, null, null, null)"); // db_manager.executeUpdate("insert into T_USER_ROLE values('test00"+i+"','sys_admin','')"); // if(i%300==0)db_manager.commitTransaction(); // } } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表查询操作,返回结果集存在DBResult类中,DBResult中的数据库查询结果已与数据库断开连接了, // 不能动态更新,注意在并发操作中应重新执行表查询操作 result = db_manager.executeQuery("select * from table22"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } // int rows = result.getRows(); //返回的记录数 try { while (result.next()) { String s = result.getString("c1");// 取第4条记录c1的字段 System.out.println(s); s = result.getString("c2"); System.out.println(s); } } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } }
评论 5 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

菜鸟不太菜

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值