当前位置:首页 » 操作系统 » java连接数据库驱动

java连接数据库驱动

发布时间: 2023-09-17 14:56:38

java中如何实现登录界面与数据库正确连接

使用JDBC进行庆衫数据库的增删改查操作1.下载Microsoft sql Server 2005 JDBC 驱动包jar文件 将jar文件引入工程中2.封装数据库链接的获取和关闭操作import java.sql.*;public class BaseDao {x0dx0a /**x0dx0a * 数据库驱动类的字符串,完整的包名加类名 在工程中查看添加的jar文件 能看到这个类x0dx0a */x0dx0a private static final String DRIVE = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; /**x0dx0a * 数据库连接地址x0dx0a * x0dx0a * DataBaseName=数据库名称 其它固定x0dx0a */x0dx0a private static final String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=bbs"; /**x0dx0a * 连接数据库的用户名x0dx0a */x0dx0a private static final String USER = "sa"; /誉早腔**x0dx0a * 用户密码x0dx0a */x0dx0a private static final String PASSWORD = ""; /**x0dx0a * 获取连接 异常直接抛出 或者捕获后自定义异常信息再抛出x0dx0a */x0dx0a public static Connection getConnection() throws Exception {x0dx0a Class.forName(DRIVE);x0dx0a return DriverManager.getConnection(URL, USER, PASSWORD);x0dx0a } /**x0dx0a * 关闭与数据库的连接 释放资源x0dx0a */x0dx0a public static void closeAll(ResultSet resultSet, PreparedStatement pst,x0dx0a Connection connection) throws Exception {x0dx0a if (resultSet != null)x0dx0a resultSet.close();x0dx0a if (pst != null)x0dx0a pst.close();x0dx0a if (connection != null)x0dx0a connection.close();x0dx0a }}3.创建图书的实体类public class Book {x0dx0a /**x0dx0a * 数据库主键x0dx0a */x0dx0a private Long id; /睁脊**x0dx0a * 作者x0dx0a */x0dx0a private String author; /**x0dx0a * 书名x0dx0a */x0dx0a private String name;x0dx0a /**x0dx0a * 默认构造x0dx0a *x0dx0a */x0dx0a public Book() {x0dx0a }x0dx0a /**x0dx0a * 全字段构造x0dx0a * @param idx0dx0a * @param authorx0dx0a * @param namex0dx0a */x0dx0a public Book(Long id, String author, String name) {x0dx0a this.id = id;x0dx0a this.author = author;x0dx0a this.name = name;x0dx0a }x0dx0a /**x0dx0a * 以下为读写属性的方法x0dx0a * @returnx0dx0a */x0dx0a public String getAuthor() {x0dx0a return author;x0dx0a }x0dx0a public void setAuthor(String author) {x0dx0a this.author = author;x0dx0a }x0dx0a public Long getId() {x0dx0a return id;x0dx0a }x0dx0a public void setId(Long id) {x0dx0a this.id = id;x0dx0a }x0dx0a public String getName() {x0dx0a return name;x0dx0a }x0dx0a public void setName(String name) {x0dx0a this.name = name;x0dx0a }x0dx0a}x0dx0a4.创建与图书表交互的工具类import java.sql.Connection;x0dx0aimport java.sql.PreparedStatement;x0dx0aimport java.sql.ResultSet;x0dx0aimport java.util.ArrayList;x0dx0aimport java.util.List;public class BookDao {x0dx0a /**x0dx0a * 添加新书x0dx0a * x0dx0a * @param book 要添加入数据库的图书 作者 书名 必须给定x0dx0a */x0dx0a public void addBook(Book book) throws Exception {x0dx0a // 连接x0dx0a Connection connection = null;x0dx0a // 执行语句x0dx0a PreparedStatement pst = null;x0dx0a try {x0dx0a connection = BaseDao.getConnection();x0dx0a // 构造执行语句x0dx0a String sql = "insert into book values(" + book.getAuthor() + ","x0dx0a + book.getName() + ")";x0dx0a pst = connection.prepareStatement(sql);x0dx0a pst.executeUpdate(); } catch (Exception e) {x0dx0a // 抛出异常x0dx0a throw e;x0dx0a } finally {x0dx0a // 无论是否异常 均关闭数据库x0dx0a BaseDao.closeAll(null, pst, connection);x0dx0a }x0dx0a } /**x0dx0a * 查询所有书籍列表x0dx0a */x0dx0a public List getBooks() throws Exception {x0dx0a // 用于存放查寻结果的集合x0dx0a List books = new ArrayList();x0dx0a // 连接x0dx0a Connection connection = null;x0dx0a // 执行语句x0dx0a PreparedStatement pst = null;x0dx0a // 查询结果x0dx0a ResultSet resultSet = null;x0dx0a try {x0dx0a connection = BaseDao.getConnection();x0dx0a // 构造查询语句x0dx0a String sql = "select * from book";x0dx0a pst = connection.prepareStatement(sql);x0dx0a resultSet = pst.executeQuery(); // 循环读取查询结果行x0dx0a while (resultSet.next()) {x0dx0a // getXXX的参数为数据表列名x0dx0a Book book = new Book(resultSet.getLong("id"), resultSetx0dx0a .getString("author"), resultSet.getString("name"));x0dx0a // 将封装好的图书对象存入集合x0dx0a books.add(book);x0dx0a }x0dx0a } catch (Exception e) {x0dx0a // 抛出异常x0dx0a throw e;x0dx0a } finally {x0dx0a // 无论是否异常 均关闭数据库x0dx0a BaseDao.closeAll(resultSet, pst, connection);x0dx0a }x0dx0a // 返回查询结果x0dx0a return books;x0dx0a }/***其它方法类似上面 只是语句不同*/x0dx0a}当然 以上只是简单的封装 初学者可以在理解以上代码的基础上 进行更高级的封装x0dx0a5.使用BookDao添加书籍和获取所有书籍列表import java.util.List;/**x0dx0a * 测试类x0dx0a * @author Administratorx0dx0a *x0dx0a */x0dx0apublic class Test { /**x0dx0a * @param argsx0dx0a * @throws Exception x0dx0a */x0dx0a public static void main(String[] args) throws Exception {x0dx0a //创建工具类对象x0dx0a BookDao = new BookDao();x0dx0a //创建一本图书x0dx0a Book book = new Book(null,"QQ:495691293","编程菜鸟");x0dx0a //添加书籍到数据库x0dx0a .addBook(book);x0dx0a x0dx0a //获取所有图书列表x0dx0a List books = .getBooks();x0dx0a //输出结果x0dx0a for (Book b : books) {x0dx0a System.out.println(b.getId()+"\t"+b.getAuthor()+"\t"+b.getName());x0dx0a }x0dx0a }}

㈡ java怎么和数据库连接(java与数据库怎样连接)

1、山简加载驱动程序。

2、创建连接对象。

3、创建sql语句执行对象。

4、执行sql语句。

5、对执行结果进行处理。

6、关闭相关的连接对象即可(顺序跟声明的顺序相反)。

处理结果两种情况:

1、执行更新返回的是本次操作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供逗毁裤了对这些行中数据的访问

(2)java连接数据库驱动扩展阅读:

Statement

要执行SQL语句,必须获得java.sql.Statement实例,余并Statement实例分为以下3种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过实例实现。

3、执行数据库存储过程。通常通过实例实现。

㈢ 在Java项目中如何导入数据库驱动包

要导入数困档据汪基乱库驱动包,需要遵循以下步骤:

  • 下载合适的数据库驱动包。根据项目使用的数据库类型,到相应的官方网站,下载该数据库的驱动程序。例如,MySQL 的官方网站是 https://dev.mysql.com/downloads/connector/j/。

  • 将下载的驱动包放到项目中。可以将驱动包复制到项目的某个文件夹中,建议新建一个锋敏名为 lib 的文件夹,并将驱动包放入其中。

  • 在项目中设置驱动包。在 Eclipse 中,可以右键点击项目 -> Build Path -> Configure Build Path,然后在 Libraries 标签下选择 Add JARs 或 Add External JARs,选择刚才下载的驱动包。

  • 测试连接数据库。在 Java 代码中,调用驱动程序中提供的类和方法,连接数据库并执行 SQL 查询或更新操作。

㈣ java数据库连接文件在哪

一般来说,连接文件放在哪没有固定的说法,那要看你用的是什么框架,spring,struts,java,jsp,hibernate等的连接位置都不同,有的在配置文件里,有的在代码里,tomcat的server.xml中也可以配置数据库连接,如果你的再java文件中,那就从各个文件中寻找类似下面的代码:
String driver ="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/test";
String user="root";
String password="";
try{
Class.forName(driver);
}
catch(Exception e){
System.out.println("无法加载驱动程序" +driver);
}
try{
Connection con=DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("数据库连接成功");
con.close();
}
catch(SQLException ee){
System.out.println("数据库连接失败");
}
}
}

关键在Connection con=DriverManager.getConnection(url,user,password);
这一句,java,jsp主要用这个连接的,其余的只是把这个封装了。无非需要com.mysql.jdbc.Driver,user,password这三个字段,从项目里搜索或一个一个找应该可以找到。搜索时最好用com.mysql.jdbc.Driver或其中一部分来搜索。

======================
别人给你的源程序,那说明他本来里面应该已经有链接数据库的文件了,你就不用自己写了,数据库链接可以在tomcat中也可以不在tomcat里,已经有了,就不用你自己写了,你要做的就是找到数据库链接文件,然后把里面的地址、用户名、密码改成你目前数据库的。

按照我给你的方法应该可以找到数据库链接文件。

㈤ Java中如何实现与后台数据库的连接

用JAVA连接数据库主要有两种方式,一是用JDBC-ODBC桥来连接,二是用相关厂商提供的相应驱动程序来连接,首先谈谈第一种连接。 x0dx0ax0dx0aJDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动程序的本地库实现的。对于WINDOWS平台,该本地库是一个动态连接库DLL(JDBCODBC.DLL)。 x0dx0ax0dx0a由于JDBC在设计上与ODBC很接近。在内部,这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互了。这种桥接器的优点是,它使JDBC目前有能力访问几乎所有的数据库。通行方式如图所示: x0dx0ax0dx0a应用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC层---数据源 x0dx0ax0dx0a具体操作方法为: x0dx0ax0dx0a首先打开控制面板的管理工具,打开数据源(ODBC),在用户DSN里面添加数据源(即你要连接的数据库的名字),在这里假定连接SQL SERVER 2000的GoodsSupply数据库。名称填写你要连接的数据库的名称(GoodsSupply),然后逐步设置,如果选用了使用SQL-SERVER密码认证的话,就要输入相应的用户名及密码连接到数据库。一路下一步设置完成。 x0dx0ax0dx0a在JAVA里面编写程序进行测试,在这里我的程序是让用户输入任意的表名与与列名,把该列的所有数据输出。源代码如下: x0dx0ax0dx0aimport java.io.BufferedReader; x0dx0aimport java.io.InputStreamReader; x0dx0aimport java.sql.*; x0dx0ax0dx0apublic class ODBCBridge { x0dx0ax0dx0apublic static void main(String[] args) { x0dx0aString url="jdbc:odbc:GoodsSupply"; x0dx0aStatement sm=null; x0dx0aString command=null; x0dx0aResultSet rs=null; x0dx0aString tableName=null; x0dx0aString cName=null; x0dx0aString result=null; x0dx0aBufferedReader input=new BufferedReader(new InputStreamReader(System.in)); x0dx0atry { x0dx0atry { x0dx0aClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动 x0dx0a}catch(ClassNotFoundException e){ x0dx0aSystem.out.println("Can not load Jdbc-Odbc Bridge Driver"); x0dx0aSystem.err.print("ClassNotFoundException:"); x0dx0aSystem.err.println(e.getMessage()); x0dx0a} x0dx0aConnection con=DriverManager.getConnection(url,"USER","PASSWORD"); //使用SQL-SERVER2000认证 x0dx0aDatabaseMetaData dmd=con.getMetaData(); //DMD为连接的相应情况 x0dx0aSystem.out.println("连接的数据库:"+dmd.getURL()); x0dx0aSystem.out.println("驱动程序:"+dmd.getDriverName()); x0dx0asm=con.createStatement(); x0dx0aSystem.out.println("输入表名"); x0dx0atableName=input.readLine(); x0dx0awhile(true) { x0dx0aSystem.out.println("输入列名(为空时程序结束):"); x0dx0acName=input.readLine(); x0dx0aif(cName.equalsIgnoreCase("")) x0dx0abreak; x0dx0acommand="select "+cName+" from "+tableName; x0dx0ars=sm.executeQuery(command); //执行查询 x0dx0aif(!rs.next()) x0dx0aSystem.out.println("表名或列名输入有误"); x0dx0aelse { x0dx0aSystem.out.println("查询结果为:"); x0dx0ado x0dx0a{ x0dx0aresult=rs.getString(cName); x0dx0a//数据库语言设置为中文,不用转换编码 x0dx0a//result=new String(result.getBytes("ISO-8859-1"),"GB2312"); x0dx0aSystem.out.println(result); x0dx0a}while(rs.next()); x0dx0a} x0dx0a} x0dx0a}catch(SQLException ex) { x0dx0aSystem.out.println("SQLException:"); x0dx0awhile(ex!=null) { x0dx0aSystem.out.println("Message:"+ex.getMessage()); x0dx0aex=ex.getNextException(); x0dx0a} x0dx0a}catch(Exception e) { x0dx0aSystem.out.println("IOException"); x0dx0a} x0dx0a} x0dx0a}

㈥ java如何访问数据库(java访问mysql数据库)

Java可以使用JDBC访问数据库,也可以使用各类ORM框架访问数据库,但这些框架最终还是通过JDBC访问数据库,它们只是封装了数据库操作,而使得开发者可以减少这部分消耗。因此,本文只讲解JDBC访问方式。

JDBC访问一般分为如下流程:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(StringclassName)实现。

例如:

try{

//加载MySql的驱动类

Class.forName("com.mysql.jdbc.Driver");

}catch(e){

System.out.println("找不到驱动程序类,加载驱动失败!");

e.();

}

成功加载后,会将Driver类的实例注册到类中。

2、提供JDBC连接的URL

连接URL定义了连接数据库时的协议、子协议、数据源标识。

书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql://localhost:3306/test?useUnicode=true&=gbk;

useUnicode=true:表示使用Unicode字符集。如果设置为

gb2312或GBK,本参数必须设置为true。=gbk:字符编码方式。

3、创建数据库的连接

要连接数据库,需要向java.sql.请求并获得Connection对象,该对象就代表一个数据库的连接。

使用的(Stringurl,Stringusername,Stringpassword)方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root

Stringurl="jdbc:mysql://localhost:3306/test";

Stringusername="root";

Stringpassword="root";

try{

Connectioncon=

.(url,username,password);

}catch(se){

System.out.println("数据库连接失败!");

se.();

}

4、创建一个Statement

要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过实例实现。

3、执行数据库存储过程。通常通过实例实现。

具体的实现方式:

Statementstmt=con.();

PreparedStatementpstmt=con.prepareStatement(sql);

CallableStatementcstmt=con.prepareCall("{CALLdemoSp(?,?)}");

5、执行慧轿SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute

1、ResultSetexecuteQuery(StringsqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。

2、intexecuteUpdate(StringsqlString):用于执行INSERT、UPDATE或DELETE语句以及SQLDDL语句,如:CREATETABLE和DROPTABLE等

3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。

具芹尺体实现的代码:

ResultSetrs=stmt.executeQuery("SELECT*FROM...");

introws=stmt.executeUpdate("INSERTINTO...");

booleanflag=stmt.execute(Stringsql);

6、处理结果

两种情况:

1、执行更新返回的是本次操作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提嫌碧高供了对这些行中数据的访问。

使用结果集(ResultSet)对象的访问方法获取数据:

while(rs.next()){

Stringname=rs.getString("name");

Stringpass=rs.getString(1);//此方法比较高效(列是从左到右编号的,并且从列1开始)

}

7、关闭JDBC对象

操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs!=null){//关闭记录集

try{

rs.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(stmt!=null){//关闭声明

try{

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(conn!=null){//关闭连接对象

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

㈦ java连接mysql数据库的驱动程序包编译阶段需要

驱动包。Java连接MySQL需要驱动包,Java访问数据库使用最多连接方式是类型4本地协议驱动方式,在使用该方式连接数据库之前,需要先下载驱动包。

热点内容
算法实验分析 发布:2025-01-24 13:20:25 浏览:135
安卓和ios步数哪个准确 发布:2025-01-24 13:12:13 浏览:290
怎么给电脑换配置 发布:2025-01-24 13:04:04 浏览:920
如何修改服务密码10086 发布:2025-01-24 12:44:27 浏览:513
dosftp连接 发布:2025-01-24 12:35:56 浏览:803
编程来炒股 发布:2025-01-24 12:35:14 浏览:855
python正则中括号 发布:2025-01-24 12:32:08 浏览:585
配置排列用英语怎么说 发布:2025-01-24 12:32:00 浏览:608
led流水灯c语言程序 发布:2025-01-24 12:28:15 浏览:47
苹果平板锁屏密码在哪里 发布:2025-01-24 12:16:41 浏览:959