导航:首页 > 编程语言 > java动态数据库

java动态数据库

发布时间:2023-06-04 10:16:51

java语言如何动态循环创建mysql数据库基本表,可以实现吗

下面是一个简单的连接MySQL数氏孙据库,并操作数据库表的例子:

import java.sql.*;

public class TestMysql {

public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//创建连接
conn = DriverManager
.getConnection("jdbc:mysql://localhost/bbs?user=用户名&password=密码");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from user");
while (rs.next()) {
String user = rs.getString(1);
String password = rs.getString(2);
System.out.println("用户名:" + user + "," +" 密码:"启蔽 + password );
}

} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}

} catch (SQLException e) {
e.printStackTrace();
}
}
}

}

当然前提是要歼旁链把MySQL的连接驱动JAR文件添加到工程里

② java 怎么动态获取数据库数据

你是从 servlet 跳转到 jsp 吧,你可以在servlet查询到 选项框里的内容List传到jsp
然后:
<select>
<c:foreach item="${List}" var="ml">
<option value="${ml.name}">${ml.name}</option>
</c:foreach>。

③ 怎样用java代码动态生成数据库表

这个就要借助hibernate tools跟xdoclet来完成了;
首先你要在你的java代码里应用xdoclet标签,例如
Java code
private String name;

/**
* @hibernate.property column = "name" length = "50"
*/
public String getName() {
return this.name;
}

public void setName(String name) {
this.name = name;
}

其中,写到javadoc上的@hibernate.property column = "name" length = "50"
就是xdoclet标签,它需要xdoclet程序来处理,这里就需要用到hibernate tools。
具体做的话一般情况是建一个ant脚本来完成,例如:
XML code
<target name="hibernate-xdoclet" depends="init, init-xdoclet_hibernate"
description="Generate mapping documents">

<echo>+---------------------------------------------------+</echo>
<echo>| |</echo>
<echo>| R U N N I N G H I B E R N A T E D O C L E T |</echo>
<echo>| |</echo>
<echo>+---------------------------------------------------+</echo>

<delete>
<fileset dir="$" includes="hibernate.cfg.xml" />
</delete>
<echo message="hibernate.cfg.xml at $"></echo>
<sleep seconds="1"/>

<hibernatedoclet
destdir="$"
excludedtags="@version,@author,@todo,@see"
addedtags="@xdoclet-generated at $,@right The XDoclet Team,@author XDoclet,@version $"
force="false"
verbose="true">

<fileset dir="$">
<include name="com/**/model/**/*.java"/>
</fileset>
<hibernatecfg
version="3.0"
destDir="$"
dialect="org.hibernate.dialect.Oracle9Dialect"
driver="oracle.jdbc.driver.OracleDriver"
jdbcUrl="jdbc:oracle:thin:@localhost:1521:RESDL"
userName="test"
password="123"
showSql="true"
schema="true"
validateXML="true"
/>
<hibernate version="3.0"/>
</hibernatedoclet>

</target>
上面的代码是生成hbm跟cfg文件的,下面再介绍如何从java类到数据库:
XML code
<target name="hibernate-schema" depends="init, init-hibernate-schema"
description="Generate DB schema from the O/R mapping files">

<echo>+---------------------------------------------------+</echo>
<echo>| |</echo>
<echo>| R U N N I N G D B S C H E M A |</echo>
<echo>| |</echo>
<echo>+---------------------------------------------------+</echo>

<echo message="mysql.sql at etc/hbm2doc"></echo>
<sleep seconds="1"/>

<hibernatetool destdir="etc/hbm2doc">
<configuration propertyFile="$/hibernate.properties">
<fileset dir="$">
<include name="com/**/model/**/*.hbm.xml"/>
</fileset>
</configuration>
<hbm2ddl drop="true"
outputfilename="mysql.sql"/>
<hbm2doc/>
</hibernatetool>

</target>

当然ant工程里的一些初始化需要自己定义,我这里只摘录关键部分,具体的东西请查阅相关文档,hibernate tutorail里就有个例子

④ Java动态改变数据库

顺序解答:
首先要明白一个JAVA开发原理。一般来说用JSP网页形式连接数据库情况不多。JAVA里用servlet---javaBean连接。
一.登陆界面(jsp):纯HTML编写,不罗嗦了;
二.表单设置action="javaBeanId",意思是跳到到javaBean处理。
三.访问数据库:在.java文件里写(javaBean)。至于WEB服务器嘛:有TOMCAT,weblogic等。访问各种数据库的代码:

1.JAVA连接ACCESS数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:Driver=;DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connection conn = DriverManager.getConnection(url,"","");

在上面的连接方法中,所涉及到的参数含义如下所示:
* sun.jdbc.odbc.JdbcOdbcDriver:驱动程序类的名称。
* /Data/ReportDemo.mdb:数据库文件
* 其中的用户名和密码均为空

2.JAVA连接MySQL数据库
Class.forName("org.gjt.mm.mysql.Driver");
String url="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&userUnicode=true&characterEncoding=8859_1"
Connection conn = DriverManager.getConnection(url);

在上面的连接方法中,所涉及到的参数含义如下所示:
* org.gjt.mm.mysql.Driver:驱动程序类的名称
* localhost:数据库的地址
* myDB:数据库的名称
* soft:访问数据库的用户名
* soft1234:访问数据库的密码
* 8859_1:使用的字符集。

3.JAVA连接SQL Server 7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
String user="sa";
String password="";
Connection conn = DriverManager.getConnection(url,user,password);

在上面的连接方法中,所涉及到的参数含义如下所示:
* com.microsoft.jdbc.sqlserver.SQLServerDriver:驱动程序类的名称
* localhost:数据库的地址
* 1433:数据库服务的端口
* myDB:数据库的名称
* user:访问数据库的用户名
* password:访问数据库的密码

4.JAVA连接Oracle 8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@192.168.0.1:1521:orcl";
String user="test";
String password="test";
Connection conn = DriverManager.getConnection(url,user,password);

在上面的连接方法中,所涉及到的参数含义如下所示:
* oracle.jdbc.driver.OracleDriver:驱动程序类的名称
* jdbc:oracle:thin:使用thin模式连接
* 192.168.0.1:数据库的IP地址
* 1521:数据库服务的端口,这是Oracle的默认值
* orcl:数据库的SID
* user:访问数据库的用户名
* password:访问数据库的密码

5.JAVA连接DB2数据库
Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
String url="jdbc:db2://127.0.0.1:5000/sample";
String user="admin";
String password="";
Connection conn = DriverManager.getConnection(url,user,password);

在上面的连接方法中,所涉及到的参数含义如下所示:
* com.ibm.db2.jdbc.app.DB2Driver:驱动程序类的名称
* 127.0.0.1:数据库的IP地址
* 5000:数据库服务的端口
* sample:数据库的名称
* user:访问数据库的用户名
* password:访问数据库的密码

6.JAVA连接Sybase数据库
Class.forName("com.sybase.jdbc.Sybdriver");
String url="jdbc:sybase:Tds:localhost:5007/myDB";
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn = DriverManager.getConnection(url,SysProps);

在上面的连接方法中,所涉及到的参数含义如下所示:
* com.sybase.jdbc.Sybdriver:驱动程序类的名称
* localhost:数据库的地址
* 5007:数据库服务的端口
* myDB:数据库的名称
* userid:访问数据库的用户名
* user_password:访问数据库的密码

7.JAVA连接Informix数据库
Class.forName("com.informix.jdbc.IfxDriver");
String url="jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;user=testuser;password=testpassword";
Connection conn = DriverManager.getConnection(url);

在上面的连接方法中,所涉及到的参数含义如下所示:
* com.informix.jdbc.IfxDriver:驱动程序类的名称
* 123.45.67.89:数据库的地址
* 1533:数据库服务的端口
* myDB:数据库的名称
* myserver:数据库服务器的名称
* testuser:访问数据库的用户名
* testpassword:访问数据库的密码

8.JAVA连接PostgreSQL数据库
Class.forName("org.postgresql.Driver");
String url="jdbc:postgresql://localhost/myDB";
String user="myuser";
String password="mypassword";
Connection conn = DriverManager.getConnection(url,user,password);

在上面的连接方法中,所涉及到的参数含义如下所示:
* org.postgresql.Driver:驱动程序类的名称
* localhost:数据库的地址
* myDB:数据库的名称
* myserver:数据库服务器的名称
* myuser:访问数据库的用户名
* mypassword:访问数据库的密码

⑤ java动态连接sql数据库的时候com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明表变量 "@P0"。

楼主,你是讲表名作为参数传进去了吗?“必须声明表变量”好像是说你得表名没获取到,没有错误信息和代码不好确定,不过我跟你同样的错误,我的是表名获取的时候用的#{tableName}改成${tableName}就好了。

阅读全文

与java动态数据库相关的资料

热点内容
如何关闭苹果手机后台app刷新 浏览:27
如何把命令框里的输出到窗口 浏览:529
离线版mc如何开服务器 浏览:884
结对程序员 浏览:770
使用过的苹果手机怎么同步app 浏览:344
phpcookie无效 浏览:954
python可以搜数学答案 浏览:706
均线衍生指标源码设置 浏览:496
做精一张图pdf 浏览:851
编程培训小朋友 浏览:787
巴克球制作解压 浏览:851
测量参数时接单片机的 浏览:116
手机音乐添加文件夹 浏览:546
百度智能云b18怎么删除app 浏览:968
单片机中为什么显示找不到头文件 浏览:151
iisweb服务器如何重启 浏览:838
微信没有适配方舟编译器 浏览:81
箍筋加密区梁的净高 浏览:889
samp如何加入外国服务器 浏览:895
保鲜膜解压教学视频 浏览:983