java如何 *** 作数据库之间的切换

java如何 *** 作数据库之间的切换,第1张

//此类为连接数据库并进行数据库的 *** 作

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

public class Conn {

private static Connection conn = null

private static Statement st = null

private static ResultSet rs = null

//建立数据库的连接

public Conn(){

String url = "jdbc:sqlserver://localhost:1433databaseName=ZYGX"

String user = "sa"

String password = "123"

try {

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

conn = DriverManager.getConnection(url, user, password)

st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)

} catch (ClassNotFoundException e) {

e.printStackTrace()

} catch (SQLException e) {

e.printStackTrace()

}

}

// 通过不同 的sql语句,得到相应Resultset结果集

public ResultSet getRs(String sql){

try{

rs= st.executeQuery(sql)

}catch(SQLException e){

e.printStackTrace()

}

return rs

}

// 根据不同的sql语句,执行数据库的更新 *** 作

public int updata(String sql){

int num=0

try{

num = st.executeUpdate(sql)

}catch(SQLException e){

e.printStackTrace()

}

return num

}

// 关闭数据库连接相应的资源

public void close(){

try{

if(rs!=null){

rs.close()

rs = null

}

if(st!=null){

st.close()

st = null

}

if(conn!=null){

conn.close()

conn = null

}

}catch(SQLException e){

e.printStackTrace()

}

}

}

----------------------------------------------------------------------

//可以对button里添加动作按钮:

final JButton button = new JButton()

button.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent e) {

Conn conn =new Conn()

String sql1="select * from aa where name='"+name+"' "//按name值查找

ResultSet rs = conn.getRs(sql1)

try {

while(rs.next()){

int n=rs.getString("type")

}

} catch (SQLException e) {

e.printStackTrace()

}

String name=textField.getText()

String sql="update aa set tittle='"+name+"' "//从aa表将title字段的值改成textField里的name值

String sql2 ="delete from aa where name='"+name+"'"//从aa表将按取得name的值删除该行数据

String sql3 = "insert into aa (name,uname) values ('"+name+"','"')"//将name,uname值新增到aa表

if(conn.update(sql)==1){

System.out.print("修改成功")

}

if(conn.update(sql2)==1){

System.out.print("删除成功")

}

if(conn.update(sql3)==1){

System.out.print("新增成功")

}

}

})

ETL抽取,你可以学学那相关的知识。我原来用过一个工具,但那个并不好,你可以再找找。

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

ETL(or ELT)的流程可以用任何的编程语言去开发完成,由于ETL是极为复杂的过程,而手写程式不易管理,有愈来愈多的企业采用工具协助ETL的开发,并运用其自带的metadata功能来存储来源与目的的对应(mapping)以及转换规则。

工具并可以提供较强大的连接功能(connectivity)来连接来源及目的端,开发人员不用去熟悉各种相异的平台及数据的结构,亦能进行开发。

当然,为了这些好处,付出的代价便是金钱。

方法有很多,这里举出两种常用的:

方法1:使用^ *** 作来实现

int

x

=

10

//用二进制表示:x=0b1010

int

y

=

15

//用二进制表示:x=0b1111

System.out.println("x="+x+"

y="+y)

x

=

x^y

//x^y=

0b1010^0b1111

=

0b0101

y

=

x^y

//x^y=

0b0101^0b1111

=

0b1010

=10

x

=

x^y

//x^y=

0b0101^0b1010

=

0b1111

=15

System.out.println("x="+x+"

y="+y)

方法2:使用+,- *** 作来实现

int

x

=

10

int

y

=

15

System.out.println("x="+x+"

y="+y)

x

=

x+y

//x=

10+15=25

y

=

x-y

//y=

25-15=10

x

=

x-y

//x=

25-10=15

System.out.println("x="+x+"

y="+y)

结果:

x=10

y=15

x=15

y=10

早期为了减少中间变量对计算机内存的占用,采用中间的方法来交换数据。其实这种交换并不完美,如果交换的两个数都很大,可能会内存溢出。在现在的开发中建议使用中间值来交换数值。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10006588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存