数据源可以用Java代码创建吗

Python011

数据源可以用Java代码创建吗,第1张

详情如下:

以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml 文件中配置,在Eclipse的J2EE架构下,也可以把context.xml文件创建在/META-INF目录下。

正确的配置后,就可以在程序中以JNDI的方式创建数据源,得到数据库连接并进行相应的操作。

导入java.sql包

一、加载要连接数据库的驱动程序

//Jdbc-Odbc桥 和 Microsoft Access 数据库

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

// SQL Server 驱动程序:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")

注:Class.forName()方法将给定的类加载到JVM,如果系统中不存在给定的类,则会引发异常

二、通过驱动程序管理器得到连接实例

Connection conn=null

//1.

//1.1建立数据源

conn=DriverManager.getConnection("jdbc:odbc:MyDataSource")//MyDataSource是数据源名称

//1-2、不建立数据源

conn=DriverManager.getConnection("jdbc:odbc:Driver=Microsoft Access Driver (*.mdb)DBQ=C:\\VBTest.mdb")

//2.SQL Server

conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433databasename=mydb","sa","")

注:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序

它接收三个参数, 分别表示1 数据源的名称、类型 2 用户名(可选) 3 密码(可选)

三、基于连接对象建立处理器对象

Statement stmt=conn.createStatement()

四、准备sql命令

String sql="select * from Student"

五、执行命令返回结果集

ResultSet rs=stmt.executeQuery(sql)

六、显示结果集

while(rs.next())//只要后面有记录

{

//对当前行的所有字段遍历

for(int i=1i<=rs.getMetaData().getColumnCount()i++)

{

System.out.print(rs.getMetaData().getColumnName(i)+": ")//显示字段名

System.out.println(rs.getString(i))//显示字段当前值

}

System.out.println()

}

七、关闭资源

rs.close()//关闭记录集

stmt.close()//关闭处理器对象

conn.close()//关闭连接对象

预处理器的应用:

//3.基于连接对象建立预处理器对象

PreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)")

//4.给预处理对象的参数赋值

pstmt.setString(1,"8888")

pstmt.setString(2,"nemo")

pstmt.setString(3,"accp")

pstmt.setString(4,"sanxianglu")

//5.执行预处理命令

int i=pstmt.executeUpdate()

System.out.println(i+"条记录已成功插入!")

package com.bin.struts.util

import java.sql.Connection

import java.sql.DriverManager

import java.sql.SQLException

public class DBConn2000 {

public static Connection getConn(){

String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"

String url = "jdbc:microsoft:sqlserver://localhost:1433DatabaseName=//数据库名字"

String user = "sa"

String password = "123"

try {

Class.forName(driver)

} catch (ClassNotFoundException e1) {

// TODO Auto-generated catch block

e1.printStackTrace()

}

try {

return DriverManager.getConnection(url,user,password)

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

return null

}

}

public static Connection close(){

return null

}

}

这是2000的连接方法

这是2005的连接串

jdbc:sqlserver://localhost:1433databasename=//数据库

com.microsoft.sqlserver.jdbc.SQLServerDriver

2000数据库需要打SP4补丁.

并且两个都需要专门的JDBC驱动的