当前位置:首页 » 编程语言 » 工具类方法操作sql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

工具类方法操作sql

发布时间: 2022-06-14 16:56:31

❶ oracle工具类怎么实现连接数据库

1. Java.sql包中定义的常用的基本的JDBC API:
类DriverManager-管理一组JDBC 驱动程序的基本服务
接口Connection-获得与特定数据库的连接
接口Statement-用于执行静态SQL 语句并返回它所生成结果的对象
接口ResultSet-表示数据库结果集的数据表,通常通过执行查询数据库的语句生成
类SQLException-有关数据库操作的异常
2.Oracle 数据库的JDBC 驱动程序文件“classes14.jar”(Oracle 官方网站下载),导入jar包
此版本的Oracle版本为10g,以测试用户scoot为例
3.定义私有变量

[java] view plain print?
<span style="white-space:pre"> </span>private static Connection conn;
private static String userName = "scott";
private static String userPwd = "tiger";
private static ResultSet rs;

❷ jsqlparser.jar能作为一个工具类进行使用吗

package net.sf.jsqlparser.statement;

/**
* An operation on the db (SELECT, UPDATE ecc.)
*/
public interface Statement {

void accept(StatementVisitor statementVisitor);
}

常见的Statement有:Select,Create,Drop,Insert,Delete等,它们作为Statement实现类,均实现accept方法。这是Visitor模式的典型应用,贯穿JSqlParser解析SQL语句的每个角落。这里你只需要知道Statement对应StatementVisitor。如果要针对SQL语句进行定制化处理,你只需实现StatementVisitor接口即可。

以查询语句(Select)为例,下面是Select类的方法截图:

❸ 怎么使用sqlbuilder mybatis

怎么使用sqlbuilder mybatis
1,首先在包下创建Configuration.xml文件,该文件的格式如下:
< xml version="1.0" encoding="UTF-8" > <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ""> <configuration> <environments default="dev"> <environment id="dev"> <transactionManager type="JDBC"$amp;>amp;$lt;/transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@192.168.1.20:1521:oa" /> <property name="username" value="zhangsan" /> <property name="password" value="123" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/cissst/oa/data/UserMapper.xml" /> <mapper resource="com/cissst/oa/data/DepartmentMapper.xml" /> </mappers> </configuration>
2,使用myBatis提供的工具类中的方法,从类路径或Configuration.xml文档所在位置加载资源文件。
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = null;
// 获取SqlSessionFactory对象
try {
Reader reader = Resources
.getResourceAsReader("com/cissst/oa/data/Configuration.xml");
factory = builder.build(reader);
} catch (Exception e) {
e.printStackTrace();
}
3,使用工厂对象获取SqlSession 对象
SqlSession session=factory .openSession(false);
参数如果为true,表示该会话具有自动提交事务的功能,否则需程序员手动提交事务。
4,使用进行数据库访问
SqlSession session = super.getSqlSession();
// 构造返回值集合
List<UserEntity> result = new ArrayList<UserEntity>();
try {
// 获取映射接口
UserMapper userMapper = session.getMapper(UserMapper.class);
// 调用接口中的方法
List<UserEntity> list = userMapper.getUserList(userEntity);
// 提交事务
session.commit();
} catch (Exception e) {
// 回滚事务
session.rollback();
} finally {
// 关闭会话
session.close();
}

❹ 怎样进入交互式sql界面

Hsqldb是一个开放源代码的JAVA数据库,其具有标准的SQL语法和JAVA接口,它可以自由使用和分发,非常简洁和快速的。具有Server模式,进程内模式(In-Process)和内存模式(Memory-Only)三种。运行Hsqldb需要hsqldb.jar包, 它包含了一些组件和程序。每个程序需要不同的命令来运行。它位于项目的lib目录下,目前的版本是1.8.0.5。官方的下载地址是:
在介绍这些模式之前我们需要了解一些Hsqldb所涉及的一些文件。每个Hsqld数据库包含了2到5个命名相同但扩展名不同的文件,这些文件位于同一个目录下。例如,名位"test"的数据库包含了以下几个文件:

test.properties <o:p></o:p>
test.script <o:p></o:p>
test.log <o:p></o:p>
test.data <o:p></o:p>
test.backup
properties文件描述了数据库的基本配置。 script文件记录了表和其它数据库对象的定义。log文件记录了数据库最近所做的更新。data文件包含了cached(缓冲)表的数据,而backup文件是将data文件压缩备份,它包含了data文件上次的最终状态数据。所有这些文件都是必不可少的,千万不可擅自删除。但如果你的数据库没有缓冲表(cached table),test.data和test.backup文件是不会存在。

接下来我们对Hsqldb的三种模式进行简单介绍,同时包括部分工具的启动的方式。

<o:p>一、 Server模式</o:p>
Server模式提供了最大的可访问性。应用程序(客户端)通过Hsqldb的JDBC驱动连接服务器。在服务器模式中,服务器在运行的时候可以被指定为最多10个数据库。根据客户端和服务器之间通信协议的不同,Server模式可以分为以下三种:

1、 Hsqldb Serve
这种模式是首选的也是最快的。它采用HSQLDB专有的通信协议。启动服务器需要编写批处理命令。Hsqldb提供的所有工具都能以java class归档文件(也就是jar)的标准方式运行。假如hsqldb.jar位于相对于当前路径的../lib下面。我们的命令将这样写:

java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 demoDB

现在你可能会疑惑,[-database.0 ]、 [dbname.0]为什么在后面加[0]。_... ...我们不是在前面说服务模式运行的时候可以指定10个数据库吗,如有多个数据库,则继续写命令行参数-database.1 aa -dbname.1 aa -database.2 bb-dbname.2 bb ... ...

新建文本文件保存上面命令,文件名可以随意,将后缀名改成bat,然后直接执行批处理文件即可。在以后介绍的执行启动工具的命令采用同样方法。

上面启动服务器的命令启动了带有一个(默认为一个数据库)数据库的服务器,这个数据库是一个名为"mydb.*"文件,这些文件就是mydb.Properties、mydb.script、mydb.log等文件。其中demoDB是mydb的别名,可在连接数据库时使用。<o:p></o:p>

<o:p>2、 Hsqldb Web Server</o:p>
<o:p> 这种模式只能用在通过HTTP协议访问数据库服务器主机,采用这种模式唯一的原因是客户端或服务器端的防火墙对数据库对网络连接强加了限制。其他情况下,这种模式不推荐被使用。</o:p>

<o:p> 运行web服务器的时候,只要将刚才命令行中的主类(main class)替换成:org.hsqldb.WebServer</o:p><o:p></o:p>

3、 Hsqldb Servlet
这种模式和Web Server一样都采用HTTP协议,当如Tomcat或Resin等servlet引擎(或应用服务器)提供数据库的访问时,可以使用这种模式。但是Servlet模式不能脱离servlet引擎独立启动。为了提供数据库的连接,必须将HSQLDB.jar中的hsqlServlet类放置在应用服务器的相应位置。

Web Server和Servlet模式都只能在客户端通过JDBC驱动来访问。Servlet模式只能启动一个单独的数据库。请注意做为应用程序服务器的数据库引擎通常不使用这种模式。<o:p></o:p>

连接到以Server模式运行的数据库
当HSQLDB服务器运行时,客户端程序就可以通过hsqldb.jar中带有的HSQLDB JDBC Driver连接数据库。

java 代码
try{

Class.forName("org.hsqldb.jdbcDriver") ;

}catch(ClassNotFoundException e){

e.printStackTrace();

}

Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb", "sa", "");

注:hsqldb的默认用户是sa密码为空。修改默认密码的方法我们将在工具使用部分做出介绍。

<o:p></o:p> 二、 In-Process模式
In-Process模式又称Standalone模式。这种模式下,数据库引擎作为应用程序的一部分在同一个JVM中运行。对于一些应用程序来说, 这种模式因为数据不用转换和通过网络的传送而使得速度更快一些。其主要的缺点就是默认的不能从应用程序外连接到数据库。所以当应用程序正在运行的时候,你不能使用类似于Database Manager的外部工具来查看数据库的内容。在<st1:chsdate isrocdate="False" w:st="on" year="1899" day="30" islunardate="False" month="12">1.8.0</st1:chsdate>版本中,你可以从同一个JVM的一个线程里面来运行一个服务器实例,从而可以提供外部连接来访问你的In-Process数据库。

推荐的使用In-Process模式方式是:开发的时候为数据库使用一个HSQLDB 服务器实例,然后在部属的时候转换到In-Process内模式。

一个In-Process模式数据库是从JDBC语句开始启动的,在连接URL中带有指定的数据库文件路径作为JDBC的一部分。例如,假如数据库名称为testdb,它的数据库文件位于与确定的运行应用程序命令相同的目录下,下面的代码可以用来连接数据库:

Connection c = DriverManager.getConnection("jdbc:hsqldb:file:testdb<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" title="" style="WIDTH: 5.25pt; HEIGHT: 5.25pt" alt="" outside="" page="" o:button="t" type="#_x0000_t75" visit=""><v:imagedata src="file:///C:\DOCUME~1\lunch\LOCALS~1\Temp\msohtml1\12\clip_image001.gif" o:href=""></v:imagedata></v:shape>", "sa", "");

数据库文件的路径格式在Linux主机和Windows主机上都被指定采用前斜线("/")。所以相对路径或者是相对于相同分区下相同目录路径的表达方式是一致的。使用相对路径的时候,这些路径表示的是相对于用于启动JVM的shell命令的执行路径。

三、Memry-Only数据库

Memory-Only数据库不是持久化的而是全部在随机访问的内存中。因为没有任何信息写在磁盘上。这种模式通过mem:协议的方式来指定:

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:dbName", "sa", "");

你也可以在server.properties中指定相同的URL来运行一个Memory-Only(仅处于内存中)服务器实例。

注意事项:当一个服务器实例启动或者建立一个in-process数据库连接的时候,如果指定的路径没有数据库存在,那么就会创建一个新的空的数据库。这个特点的副作用就是让那些新用户产生疑惑。在指定连接已存在的数据库路径的时候,如果出现了什么错误的话,就会建立一个指向新数据库的连接。为了解决这个问题,你可以指定一个连接属性ifexists=true只允许和已存在的数据库建立连接而避免创建新的数据库,如果数据库不存在的话,getConnection()方法将会抛出异常。

四、 工具的使用

Hsqldb提供的主要的工具类:

org.hsqldb.util.DatabaseManager
org.hsqldb.util.DatabaseManagerSwing
org.hsqldb.util.Transfer
org.hsqldb.util.QueryTool
org.hsqldb.util.SqlTool

其中DatabaseManage和Sql Tool,只能用命令行参数来运行。你可以在命令行后面加上参数-?来查看这些工具可用的参数列表。其他工具可以通过DatabaseManager的主界面启动,便于交互式操作。

为了便于操作,我们同样把这些工具启动的命令做成批处理文件。方法和前面我们所介绍的创建启动服务模式命令的方法一样。在这里我们再强调一次hsqldb.jar的位置,因为所有启动命令都是参照hsqldb.jar的位置编写的

如果您觉得麻烦你也可以采用绝对路径编写命令。

现在我们一起运行AWT版本的DatabaseManager工具,hsqldb.jar位于相对于当前路径的../lib下面,命令如下:

Java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager

将命令保存为后缀名为bat的批处理文件,保存为DatabaseManager.bat,也可根据个人习惯命名。执行DatabaseManager.bat你将看到如下画面:。

现在对这个简洁的登录界面做个简单的介绍*_*

Recent:选择你最近的登录方案,[可选]
Setting Name:本次登录方案名称,如果本次登录成功,那么等你下次登录的时候在Recent下拉列表中将看到你的成功登录方案[可选]
Type:登录模式,其中包括In-Memory模式、Standalone(In-process)模式、Server模式、WebServer模式... ...[必选]
Driver:连接数据库的驱动程序[必选]
URL:连接数据库的URL[必选]
User:用户名[必选]
Password:密码[ 除非密码为空]

注:如果Type项选择Server模式或者WebServer模式需要你事先启动与之对应的服务模式。而Standalone(In-process)默认是不支持DatabaseManager连接的,具体原因我们已经在前面解释过。至于In-Memory可以随意登录,所有的操作数据都不会记录在本地磁盘。而Type还有很多其他选项,具体的用法可以参考官方文档,位置在hsqldb目录\doc\guide\ guide.pdf。

如果你想运行DatabaseManagerSwing也很简单,相信你已经想到了。我们只需要把启动DatabaseManager命令修改成:
Java -cp ../lib/hsqldb.jar org.hsqldb.util. DatabaseManagerSwing

两种工具的操作方法类似,这里就不再赘述。

差点忘记,前面我说过要给出修改sa用户密码的方法。最后再占用大家一点点时间。当你用SA通过DatabaseManager登录成功后会出现如下界面:

在右上方的空白区域输入set password "newpassword" 点击执行即可。

到这里我们对Hsqldb的简单介绍就结束了。

本文参考自Hsqldb的官方文档,个人水平有限难免出现错误,

❺ 写查询SQL的工具类,不管输入什么SQL,都能显示出查询结果.应该怎么做.编程语言是Java

var
sql:string;
begin
sql :=select dfxx.zhh as 总户号,jbxx.dh as 段号,dfxx.nf as 年份,dfxx.yf as 月份,dfxx.je as 金额,dfxx.znj as 滞纳金,dfxx.je+dfxx.znj as 合计,dfxx.sfqf as 是否欠费,jbxx.hm as 户名 from dfxx,jbxx where (jbxx.dh=:edit1.text) and xx.zhh=jbxx.zhh ';
if combobox1.text <> '' then
sql := sql + ' and jbxx.sffs=:combobox1.text';
if combobox2.text <> '' then
sql := sql + ' and dfxx.nf=:combobox2.text';
if combobox3.text <> '' then
sql := sql + ' and dfxx.yf=:combobox3.text';
adoquery.sql.text := sql;
adoquery.open;

end;

❻ java的servlet中对decimal类型执行sql语句怎么写..有bean 有数据库连接工具类...

当做普通字符串就行 真不行就给bigdecimal对象来个toString转化成字符串写入数据库

❼ C#中如何写一个关于SQL数据库的类,然后在其它地方用呢越详细越好。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;//因为我的数据库是sqlserver2005,所以导入的是该数据库对应的命名空间

namespace ListView
{
class DBHelper
{
static string sql = "Data Source=.;Initial Catalog=MySchool;Integrated Security=True";//此处的连接字符串是自动生成。具体操作:打开vs2005或08或10,找到菜单项中的“视图”,选择“服务器资源管理器”--添加新的数据库连接,会弹出一个窗口,如果数据库装在本机,就在“服务器名”那栏上添上一个点--“ . ”,再选择“测试连接”,等待弹出连接成功后的信息框后点“高级”,复制下面的确定按键上的一行自动生成的连接字符串就ok。
public static SqlConnection con = new SqlConnection(sql);//用public static修饰是为了能在其他的类中用 类名.属性 的方式应用。此2句构成一个完整的数据库连接工具类,通常取名为
“DBHelper”
}
}

希望对楼主有帮助。

❽ mybatics的sql方法怎么写

大致步骤:
SQL语句写在映射文件中,mapper.xml中。
然后写一个工具类,创建连接。
写DAO方法,调用sqlsession方法(前提实体类)

❾ eclipse 连接 sql 数据库,是每个类一个连接语句呢,还是整个程序一个语句,插到什么地方环境已经配置好

对连接数据库要实行封装的思想,一个项目的话,有成百上千的表是非常有可能的,进行各种各样的查询,连接更是多的不行,如果每个类都要进行连接,那是代码冗余了,现在又一些非常好的连接池技术,你可以参考一下,像hibernate,spring都有配置,spring的jdbcTemplate就非常好使。每个类一个连接,有时会忘记关闭连接,会造成内存溢出的。

❿ 如何通过java将sql数据库的内容显示再列表中

你的数据库已经联上了,我就不写连接数据库的代码了,连接数据库的代码你可以写意个工具类,然后写成静态的方法,想要连接直接调用就好了!
下面给你看下操作数据库的代码
public
List
find()
{
Connection
conn
=
null;
PreparedStatement
ps
=
null;
ResultSet
rs
=
null;
List
list
=
new
ArrayList();
conn
=
JdbcUtil.getConnection();
try
{
conn.setAutoCommit(false);
String
sql
=
"select
*
from
student";
ps
=
conn.prepareStatement(sql);
rs
=
ps.executeQuery();
while(rs.next()){
Student
student
=
new
Student();
student.setId(rs.getInt(1));
student.setName(rs.getString(2));
student.setAddress(rs.getString(3));
list.add(student);
}
}
catch
(SQLException
e)
{
//
TODO
Auto-generated
catch
block
e.printStackTrace();
}finally{
JdbcUtil.close(conn,
ps,
rs);
}
return
list;
}
你可知直接直接把这几项用system打印在控制台上就好student.setId(rs.getInt(1));
student.setName(rs.getString(2));
student.setAddress(rs.getString