java中实现SQL命令 如何在java中实现SQL命令,就是在控制台输入查询 删除等命令并返回等同于SQL的结果 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 现成工具没见过,自己调用jdbc到是可以实现,不过这个需求到是很奇怪。 主要是JDBC怎么调,似乎不方便吧,若是单个表的制定操作还行 我想这就是基于jdbc的封装了,比如那些orm框架,jdbcTemplate ,楼主有兴趣可以搞搞 Scanner读入控制台输入,读到某个特殊行(表示sql输入结束符号),通过jdbc,把输入的文本作为参数直接调用Statement的executeQuery(String sql), 然后把返回的结果集ResultSet遍历,打印出来。 调用executeQuery(String sql)方法 必须用jdbc,否则自己写程序调数据库API还不累死 select 和 desc 功能已经实现了,insert 怎么弄,这个有难度 insert 要调用Statement的executeUpdate方法,自己判断一下是select还是insert语句,分别调用就可以了 java连接了数据库后,就可以通过Scanner读入控制台输入,读到某个特殊行(表示sql输入结束符号),通过jdbc,把输入的文本作为参数直接调用Statement的executeQuery(String sql), 然后把返回的结果集ResultSet遍历,打印出来。 package com.xinzhanedu.DBmanager; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * 连接数据库部分 * @author Administrator * */ public class DBManager { private Connection connection; private Statement statement; private ResultSet resultSet; private String url = "jdbc:sqlserver://localhost:1433;databaseName=studentInfo"; private String username = "sa"; private String pwd = "123"; /** * 打开数据库 */ public DBManager openDatabase(){ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection connection=DriverManager.getConnection(url,username,pwd); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } /** * 关闭数据库 */ public void closeDatabase(){ if(connection!=null){ try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(statement!=null){ try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /** * 处理数据库的结果集 */ public ResultSet query(String sql) { try { openDatabase(); Connection connection=DriverManager.getConnection(url,username,pwd); statement = connection.createStatement(); return statement.executeQuery(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } /** * 执行数据库里的增,删,改,查 */ public int update(String sql) { try { openDatabase(); Connection connection=DriverManager.getConnection(url,username,pwd); Statement statement = connection.createStatement(); int rows= statement.executeUpdate(sql); return rows; } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return -1; } } 想法不错,也就是 Java.sql.* 下的一些PAI 可以自己去实现 jar与jdbc驱动的绑定问题 包里面类与与之间的调用 FlowLayout 有什么用? 问题:关于别名效应 读文件的问题,菜鸟在线等,急! java调用本地C代码 谢谢 java组合 用什么方法可以不用配置ODBC就可以访问ms sql数据库? 路由到底是什么东东,我怎么不明白怎么回事? JDBC事务处理 关于类的构造方法的个人理解。。高手进来指点一下!!! 如何理解XML中的node??散分不吝啬
package com.xinzhanedu.DBmanager;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 连接数据库部分
* @author Administrator
*
*/
public class DBManager {
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private String url = "jdbc:sqlserver://localhost:1433;databaseName=studentInfo";
private String username = "sa";
private String pwd = "123";
/**
* 打开数据库
*/
public DBManager openDatabase(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection connection=DriverManager.getConnection(url,username,pwd);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* 关闭数据库
*/
public void closeDatabase(){
if(connection!=null){
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 处理数据库的结果集
*/ public ResultSet query(String sql) {
try {
openDatabase();
Connection connection=DriverManager.getConnection(url,username,pwd);
statement = connection.createStatement();
return statement.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null; }
/**
* 执行数据库里的增,删,改,查
*/ public int update(String sql) {
try {
openDatabase();
Connection connection=DriverManager.getConnection(url,username,pwd);
Statement statement = connection.createStatement();
int rows= statement.executeUpdate(sql);
return rows;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return -1;
} }