方法一:使用jdbc-odbc桥连接sql server,作为中间媒介连接数据库

  • 1.配置数据源:打开控制面版->管理工具->数据源(ODBC)->选用户DSN,按下添加按钮->sql server->写下数据源的名字(假设是test),再写下连接的服务器名(一般默认为local或.)->更改默认的数据库为(勾选你想要连接的数据库)->接下来一直确定就完成了数据源的配置.
  • 2.加载驱动:Class.forNmae("sun.jdbc.odbc.JdbcOdbcDriver");
  • 3.得到连接:Connection ct=DriverManager.getConnection("jdbc:odbc:test");test是配置数据源的时候的数据源名字
  • 4.创建preparedStateMent,这个语句主要是用于发送sql语句到数据库.
  • 5.最后关闭资源

代码:

import java.sql.*;
public class preparedStatement {
public static void main(String[] args) {
Connection ct = null;
PreparedStatement ps = null;
ResultSet rs=null;
try {
//加载驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//得到连接
ct=DriverManager.getConnection("jdbc:odbc:test");
//创建一个PreparedStatement,用于向数据库放松sql语句
ps=ct.prepareStatement("select * from 产品名称表");
//得到结果
rs=ps.executeQuery();//这个方法适用于从表中查找数据
//如果要向表中插入,删除,更新数据需要使用方法executeUpdate();
while(rs.next()){//这里rs.next()一定要使用next()方法,否则有空指针错误
String number=rs.getString(1);
String string=rs.getString(2);
System.out.println(number+" "+string);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源,记住关闭资源的顺序,根据得到赋值的反顺序进行关闭资源
try {
if(rs!=null){
rs.close();
}
if (ps != null)
ps.close();
if (ct != null)
ct.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
}

方法二:使用驱动程序直接操作数据库(这个方法更多人使用,但是前期所做的工作更多)

  • 1.需要引入jar包,sql server2008只要引入sqljdbc4.jar包就行了。这个包百度上有下载。

    这是我下载的网址:http://download.csdn.net/download/a785143175/5163519

    导入方法:工具栏project选项->properties->java Build path中选择libraries->点击add Externar jars按钮->然后在你电脑中选中sqljdbc4.jar导入进去
  • 2.连接数据库一般是使用sql验证,所以需要你自己建立帐号密码。

    方法:先用windows验证进入数据库,然后在安全性中点击鼠标右键新建登录名,勾选SQL身份验证,将强制密码过期不选,点击确定。然后断开连接,重新以现在的用户名和密码连接。然后在这个用户名中新建数据库就好。
  • 3、接下来的代码部分跟odbc类似,有些小小的不同。

代码:

import java.sql.*;
public class jdbc1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection ct = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
//第一步,加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//得到连接
ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=liuyan","sa","3209554");
//创建PreparedStatement
ps=ct.prepareStatement("select * from userinformation where name='张三丰'");
rs=ps.executeQuery();
//这个方法适用于从表中查找数据
//如果要向表中插入,删除,更新数据需要使用方法executeUpdate();
while(rs.next()){//这里rs.next()一定要使用next()方法,否则有空指针错误
String number=rs.getString(1);
String string=rs.getString(2);
String string2=rs.getString(3);
System.out.println(number+" "+string+" "+string2);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(rs!=null){
rs.close();
}
if (ps != null)
ps.close();
if (ct != null)
ct.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
}

几点注意

  • 我们每次在连接数据库前都必须要引入sql包:import java.sql.*

  • 我们还可以使用?赋值的方法

    ps=ct.prepareStatement("select * from 产品名称表 whrer 产品名称=?");

    ps.setString(1,"手机");//表示在第一个问号上添加“手机”的字符串.如果是整数用setInt()方法;

总结

经过了一个下午和一个晚上的奋斗,终于将myeclipse和数据库连接成功了。中间出现了好多问题:找不到包(到现在也不知道为什么会找不到),空指针异常,通过端口1433连接到主机失败,远程过程调试失败。感觉都快要崩溃了,好在最后还是连上了。学习新东西的过程就是漫长又磨人的,但学成之后还是充满了成就感。

java连接数据库的两种方法总结的更多相关文章

  1. Qt连接数据库的两种方法

    我曾经想过,无论在哪个平台下开发,都不要再接触SQL Server了,但显然不行.我们是来看世界的,不是来改变世界的,想通就好. 前两天,尝试了一下Qt下远程访问数据库.在macOS下,用Qt 5.1 ...

  2. ubuntu 安装JAVA jdk的两种方法:

    ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...

  3. java循环HashMap两种方法的效率比较

    一.循环HashMap的两种方式 方式1: Iterator<Entry<String, String>> entryKeyIterator = entrySetMap.ent ...

  4. Java对象排序两种方法

    转载:https://blog.csdn.net/wangtaocsdn/article/details/71500500 有时候需要对对象列表或数组进行排序,下面提供两种简单方式: 方法一:将要排序 ...

  5. MySQL之连接数据库的两种方法

    方法一: package DB; import java.sql.Connection; import java.sql.DriverManager; public class Conn { // 定 ...

  6. 谈谈关于PHP连接数据库的两种方法(PDO&Mysqli)

    前言:在我们之前学习sql语句的时候都是停留在黑窗口的,怎样才能让mysql与程序代码发生联系呢?此时PDO和Mysqli应运而生,为了解决这个问题 (一)开启其中(pdo或者mysqli)的php扩 ...

  7. java异常处理的两种方法

    一种是try-catch-finally,监视代码段,如果有异常就捕获. 另一种是此处不处理,声明在方法后面,抛给上级.(不处理也是一种处理)

  8. Java 创建线程的两种方法

    Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线 ...

  9. Java构造和解析Json数据的两种方法详解二

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...

随机推荐

  1. Win10英文系统 JDK1.8安装及环境变量配置

    前提 今天换新电脑了,需要重新安装一遍JDK.写个随笔记录一下整个过程. 下载 官网上JDK已经出到10了,但是回忆起JDK9都有各种坑(不支持一些软件),决定还是用JDK8. 下载地址: http: ...

  2. Python对文件目录的操作

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录 ...

  3. yii学习笔记(3),自定义全局工具函数

    在平时开发是经常需要打印数据来调试 常见的打印方式有print_r和var_dump,但是这样打印出来格式很乱不好浏览 在打印函数前后加上<pre></pre>就可以将内容原样 ...

  4. 大数据&人工智能&云计算

    仅从技术上讲大数据.人工智能都包含工程.算法两方面内容: 一.大数据: 工程: 1)云计算,核心是怎么管理大量的计算机.存储.网络. 2)核心是如何管理数据:代表是分布式存储,HDFS 3)核心是如何 ...

  5. 第5章 MapReduce操作

    目录 5.1 案例分析:单词计数 1.设计思路 2.程序源代码 3.程序解读 4.程序运行 5.2 案例分析:数据去重 1.设计思路 2.编写程序 3.程序解读 4.程序运行 5.3 案例分析:求平均 ...

  6. 【AD】自己画板的备忘

    快捷键: [Ctrl + M ]计算出两点之间的距离,画电路板时会用到 [Ctrl + Q ]在设定X.Y..等等的地方,快捷键可以公英制快速切换 [shift + 空格键 ]在布线的同时,此快捷键可 ...

  7. 转载:隐藏bat窗口在后台运行(找了好久)

    https://mp.weixin.qq.com/s?__biz=MzU4MjY1ODA3Nw==&mid=2247484277&idx=1&sn=8b5d98aab3827b ...

  8. springBoot整合ecache缓存

    EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. ehcache提供了多种缓存策略,主要分为内存和磁盘两级,所以无需担心 ...

  9. 全国Uber优步司机奖励政策 (1月18日-1月24日)

    本周已经公开奖励整的城市有:北 京.成 都.重 庆.上 海.深 圳.长 沙.佛 山.广 州.苏 州.杭 州.南 京.宁 波.青 岛.天 津.西 安.武 汉.厦 门,可按CTRL+F,搜城市名快速查找. ...

  10. 重庆Uber优步司机奖励政策

    获得任何奖励的前提条件:当周接单率80%以上,当周乘客评分4.5分以上,且无刷单等欺诈行为. 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全国版最 ...