Connection conn = 链接
Statement stmt = conncreateStatementI();
String sql = "CREATE TABLE PFO_ANALYSE_BRANCH ( "
+" NODE_NAME_S VARCHAR2(50 BYTE), "
+ 其他字段
+")";
stmtexecute(sql)
java中使用jdbc连接sql server数据库步骤:
1JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)
<1> 将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbcjar文件,得到其路径开始配置环境变量
在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_12\enu\sqljdbcjar
<2> 设置SQLEXPRESS服务器:
a打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP
b右键单击启动TCP/IP
c双击进入属性,把IP地址中的IP all中的TCP端口设置为1433
d重新启动SQL Server 2005服务中的SQLEXPRESS服务器
e关闭SQL Server Configuration Manager
<3> 打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample
<4> 打开Eclipse
a新建工程-> Java -> Java project,起名为Test
b选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbcjar
c右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path, 添加扩展jar文件,即把sqljdbcjar添加到其中
<5> 编写Java代码来测试JDBC连接SQL Server数据库
import javasql;
public class Test {
public static void main(String[] srg) {
//加载JDBC驱动
String driverName = "commicrosoftsqlserverjdbcSQLServerDriver";
//连接服务器和数据库sample
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
String userName = "sa"; //默认用户名
String userPwd = "123456"; //密码
Connection dbConn;
try {
ClassforName(driverName);
dbConn = DriverManagergetConnection(dbURL, userName, userPwd);
Systemoutprintln("Connection Successful!"); //如果连接成功 控制台输出
} catch (Exception e) {
eprintStackTrace();
}
}
}
执行以后就可以连接到sample数据库了。
JDBC连接数据库
•创建一个以JDBC连接数据库的程序,包含7个步骤:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过javalangClass类的静态方法forName(String className)实现。
例如:
try{
//加载MySql的驱动类
ClassforName("commysqljdbcDriver") ;
}catch(ClassNotFoundException e){
Systemoutprintln("找不到驱动程序类 ,加载驱动失败!");
eprintStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
•连接URL定义了连接数据库时的协议、子协议、数据源标识。
•书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql:
//localhost:3306/testuseUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
•要连接数据库,需要向javasqlDriverManager请求并获得Connection对象,
该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和
密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManagergetConnection(url , username , password ) ;
}catch(SQLException se){
Systemoutprintln("数据库连接失败!");
seprintStackTrace() ;
}
4、创建一个Statement
•要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3
种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = concreateStatement() ;
PreparedStatement pstmt = conprepareStatement(sql) ;
CallableStatement cstmt =
conprepareCall("{CALL demoSp( , )}") ;
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句
,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或
DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的
语句。
具体实现的代码:
ResultSet rs = stmtexecuteQuery("SELECT FROM ") ;
int rows = stmtexecuteUpdate("INSERT INTO ") ;
boolean flag = stmtexecute(String sql) ;
6、处理结果
两种情况:
1、执行更新返回的是本次 *** 作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
行中数据的访问。
• 使用结果集(ResultSet)对象的访问方法获取数据:
while(rsnext()){
String name = rsgetString("name") ;
String pass = rsgetString(1) ; // 此方法比较高效
}
(列是从左到右编号的,并且从列1开始)
7、关闭JDBC对象
*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs != null){ // 关闭记录集
try{
rsclose() ;
}catch(SQLException e){
eprintStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmtclose() ;
}catch(SQLException e){
eprintStackTrace() ;
}
}
if(conn != null){ // 关闭连接对象
try{
connclose() ;
}catch(SQLException e){
eprintStackTrace() ;
}
}
import javasqlConnection;
import javasqlDriverManager;
public class DBHelper {
private static final String driverName="commicrosoftsqlserverjdbcSQLServerDriver"; //加载jdbc驱动
private static final String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=Sarlays"; //链接服务器和数据库Sarlays
private static final String username="sa"; //数据库用户名
private static final String password="123456"; //数据库密码
private static Connection conn=null;
//静态代码负责加载驱动
static {
try {
ClassforName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
//单例模式返回数据库链接对象
public static Connection getConnection() throws Exception{
if(conn==null){
conn=DriverManagergetConnection(dbURL, username, password);
return conn;
}
return conn;
}
}
可以
分两种情况, 一种是服务器型的数据库, 通过语句建立库, 我试过的MySQL就可以, JDBC链接上MYSQL后, 用Statement 执行建表的SQL语句, 提交的时候一定要用execute(String)来提交, 因为executeUpdate不一定可以执行建表语句其他数据库应该也可以, 因为你想, 既然比如Oracle 之类的数据库有第三方图形化软件, 可以进行全面的 *** 作, 包括申请表空间, 建库等等, 那么通过程序就一定可以实现
还有一种情况是没有服务器的数据库, 我知道的只有两种, 一个是SQLite, 一个是Derby(Java DB), 数据库直接对应文件, 这种情况, 需要你对应的数据库链接所在的文件夹一定要存在, 然后通过上面的方法提交语句就可以直接建立出表文件
Java程序向数据库中插入数据,代码如下:
//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法
//以下是ConnDb代码:
package db;
import javasqlConnection;
import javasqlDriverManager;
import
javasqlResultSet;
import javasqlSQLException;
import
javasqlStatement;
import javautilArrayList;
public class ConnDb {
public Connection startConn(Connection conn){
try {
ClassforName("sunjdbcodbcJdbcOdbcDriver");
conn = DriverManagergetConnection("jdbc:odbc:数据库","用户名", "密码");
} catch (Exception e) {
Systemoutprintln("连接数据库时出现错误");
}
return conn;
}
public ArrayList executeQuery(String sql){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
ArrayList list = new ArrayList();
try {
conn = startConn(conn);
stmt = conncreateStatement();
rs = stmtexecuteQuery(sql);//sql为sql语句例如"select from
表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来
while(rsnext()){
TestBean tb = new TestBean();
tbsetTid(rsgetString("tid"));
tbsetTname(rsgetString("tname"));
tbsetTinfo(rsgetString("tinfo"));
listadd(tb);
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}finally{
closeConn(rs,stmt,conn);
}
return list;
}
public void executeUpdate(String sql){
Connection conn = null;
Statement stmt = null;
try {
conn =
startConn(conn);
stmt = conncreateStatement();
stmtexecuteUpdate(sql);
}
catch (SQLException e) {
Systemoutprintln("修改,插入或者删除数据库数据时发生错误!");
}finally{
closeConn(stmt,conn);
}
}
public void closeConn(ResultSet rs,Statement stmt,Connection conn){
try {
if(rs !=
null){
rsclose();
}
if(stmt != null){
stmtclose();
}
if(conn != null){
connclose();
}
}
catch (SQLException e) {
// TODO Auto-generated catch
block
Systemoutprintln("关闭数据库的时候发生错误!");
}
}
public void closeConn(Statement stmt,Connection conn){
try {
if(stmt != null){
stmtclose();
}
if(conn != null){
connclose();
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
Systemoutprintln("关闭数据库的时候发生错误!");
}
}
}
1、加载驱动程序。
2、创建连接对象。
3、创建sql语句执行对象 。
4、执行sql语句。
5、对执行结果进行处理。
6、关闭相关的连接对象即可(顺序跟声明的顺序相反)。
处理结果两种情况:
1、执行更新返回的是本次 *** 作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。
扩展资料:
Statement
要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3 种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
参考资料:
以上就是关于如何用JAVA 创建数据库表写出java代码全部的内容,包括:如何用JAVA 创建数据库表写出java代码、请教SQLCipher在Windows下如何通过Java连接创建数据库、如何实现java与数据库的连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)