连接数据库的代码用java怎么做?
5个回答
2013-07-03
展开全部
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class inensshow extends JFrame {
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData;
//GUI变量定义
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery;
public inensshow()
{
//Form的标题
super( "输入SQL语句,按查询按钮查看结果。" );
String url = "jdbc:mysql://localhost:3306/web";
String username = "inens";
String password = "inens";
//加载驱动程序以连接数据库
try {
Class.forName( "org.gjt.mm.mysql.Driver" );
connection = DriverManager.getConnection(
url, username, password );
}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex ) {
System.err.println(
"装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
//捕获连接数据库异常
catch ( SQLException sqlex ) {
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
//如果数据库连接成功,则建立GUI
//SQL语句
String test="SELECT * FROM data";
inputQuery = new JTextArea( test, 4, 30 );
submitQuery = new JButton( "查询" );
//Button事件
submitQuery.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
getTable();
}
}
);
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
//将"输入查询"编辑框布置到 "CENTER"
topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
//将"提交查询"按钮布置到 "SOUTH"
topPanel.add( submitQuery, BorderLayout.SOUTH );
table = new JTable();
Container c = getContentPane();
c.setLayout( new BorderLayout() );
//将"topPanel"编辑框布置到 "NORTH"
c.add( topPanel, BorderLayout.NORTH );
//将"table"编辑框布置到 "CENTER"
c.add( table, BorderLayout.CENTER );
getTable();
setSize( 500, 300 );
//显示Form
show();
}
private void getTable()
{
try {
//执行SQL语句
String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
//在表格中显示查询结果
displayResultSet( resultSet );
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}
private void displayResultSet( ResultSet rs )
throws SQLException
{
//定位到达第一条记录
boolean moreRecords = rs.next();
//如果没有记录,则提示一条消息
if ( ! moreRecords ) {
JOptionPane.showMessageDialog( this,
"结果集中无记录" );
setTitle( "无记录显示" );
return;
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
//获取字段的名称
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
//获取记录集
do {
rows.addElement( getNextRow( rs, rsmd ) );
} while ( rs.next() );
//在表格中显示查询结果
table = new JTable( rows, columnHeads );
JScrollPane scroller = new JScrollPane( table );
Container c = getContentPane();
c.remove(1);
c.add( scroller, BorderLayout.CENTER );
//刷新Table
c.validate();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}
private Vector getNextRow( ResultSet rs,
ResultSetMetaData rsmd )
throws SQLException
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
currentRow.addElement( rs.getString( i ) );
//返回一条记录
return currentRow;
}
public void shutDown()
{
try {
//断开数据库连接
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( "Unable to disconnect" );
sqlex.printStackTrace();
}
}
public static void main( String args[] )
{
final inensshow app =
new inensshow();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
app.shutDown();
System.exit( 0 );
}
}
);
}
}
------------------------------------------------------------
这次在WIN98中就不好使了。因为Mysql的驱动程序没有也没能加入到CLASSPATH 当中,但是JSP却可以使用(JSP的98驱动加载详见Jsp与Mysql连接查错文章),所以这次我是在XPServer中测试的。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class inensshow extends JFrame {
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData;
//GUI变量定义
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery;
public inensshow()
{
//Form的标题
super( "输入SQL语句,按查询按钮查看结果。" );
String url = "jdbc:mysql://localhost:3306/web";
String username = "inens";
String password = "inens";
//加载驱动程序以连接数据库
try {
Class.forName( "org.gjt.mm.mysql.Driver" );
connection = DriverManager.getConnection(
url, username, password );
}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex ) {
System.err.println(
"装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
//捕获连接数据库异常
catch ( SQLException sqlex ) {
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
//如果数据库连接成功,则建立GUI
//SQL语句
String test="SELECT * FROM data";
inputQuery = new JTextArea( test, 4, 30 );
submitQuery = new JButton( "查询" );
//Button事件
submitQuery.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
getTable();
}
}
);
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
//将"输入查询"编辑框布置到 "CENTER"
topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
//将"提交查询"按钮布置到 "SOUTH"
topPanel.add( submitQuery, BorderLayout.SOUTH );
table = new JTable();
Container c = getContentPane();
c.setLayout( new BorderLayout() );
//将"topPanel"编辑框布置到 "NORTH"
c.add( topPanel, BorderLayout.NORTH );
//将"table"编辑框布置到 "CENTER"
c.add( table, BorderLayout.CENTER );
getTable();
setSize( 500, 300 );
//显示Form
show();
}
private void getTable()
{
try {
//执行SQL语句
String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
//在表格中显示查询结果
displayResultSet( resultSet );
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}
private void displayResultSet( ResultSet rs )
throws SQLException
{
//定位到达第一条记录
boolean moreRecords = rs.next();
//如果没有记录,则提示一条消息
if ( ! moreRecords ) {
JOptionPane.showMessageDialog( this,
"结果集中无记录" );
setTitle( "无记录显示" );
return;
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
//获取字段的名称
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
//获取记录集
do {
rows.addElement( getNextRow( rs, rsmd ) );
} while ( rs.next() );
//在表格中显示查询结果
table = new JTable( rows, columnHeads );
JScrollPane scroller = new JScrollPane( table );
Container c = getContentPane();
c.remove(1);
c.add( scroller, BorderLayout.CENTER );
//刷新Table
c.validate();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}
private Vector getNextRow( ResultSet rs,
ResultSetMetaData rsmd )
throws SQLException
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
currentRow.addElement( rs.getString( i ) );
//返回一条记录
return currentRow;
}
public void shutDown()
{
try {
//断开数据库连接
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( "Unable to disconnect" );
sqlex.printStackTrace();
}
}
public static void main( String args[] )
{
final inensshow app =
new inensshow();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
app.shutDown();
System.exit( 0 );
}
}
);
}
}
------------------------------------------------------------
这次在WIN98中就不好使了。因为Mysql的驱动程序没有也没能加入到CLASSPATH 当中,但是JSP却可以使用(JSP的98驱动加载详见Jsp与Mysql连接查错文章),所以这次我是在XPServer中测试的。
2013-07-03
展开全部
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String user=request.getParameter("user");
String pass=request.getParameter("pass");
try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://127.0.0.1/Buy?user=root&password=root";
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
String sql="insert into userlist (username,userpwd) values" +
"('"+user+"','"+pass+"') " ;
stmt.executeUpdate(sql);
out.print("注册成功! 点击<a href='login.jsp'>这里</a> 登录!");
}catch(Exception e)
{out.print(e);}
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String user=request.getParameter("user");
String pass=request.getParameter("pass");
try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://127.0.0.1/Buy?user=root&password=root";
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
String sql="insert into userlist (username,userpwd) values" +
"('"+user+"','"+pass+"') " ;
stmt.executeUpdate(sql);
out.print("注册成功! 点击<a href='login.jsp'>这里</a> 登录!");
}catch(Exception e)
{out.print(e);}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-03
展开全部
要看看你用的是什么的数据库 不同的数据库语句之间差不多 楼上两个 一个是MySQL 一个是SQL Server 那我就来写一个连接Oracle的吧
public class TestOracle {
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora9", "scott", "tiger");
PreparedStatement pstmt=conn.prepareStatement("select * from emp");
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getString("job"));
}
rs.close();
pstmt.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
解释下:
ora9--你Oracle的SID名 scott--填写你数据库的用户名 tiger--填写你数据库的密码
查询语句就不用多说了
public class TestOracle {
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora9", "scott", "tiger");
PreparedStatement pstmt=conn.prepareStatement("select * from emp");
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getString("job"));
}
rs.close();
pstmt.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
解释下:
ora9--你Oracle的SID名 scott--填写你数据库的用户名 tiger--填写你数据库的密码
查询语句就不用多说了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-03
展开全部
import java.sql.Connection;
import java.sql.*;
public class DBConnection {
public DBConnection() {
}
private Connection con = null;
public Connection getConnection(){
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=miao","sa","sa");
// System.out.print("连接成功");
} catch (Exception ex) {
// System.out.print("连接失败");
}
return con;
}
}
import java.sql.*;
public class DBConnection {
public DBConnection() {
}
private Connection con = null;
public Connection getConnection(){
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=miao","sa","sa");
// System.out.print("连接成功");
} catch (Exception ex) {
// System.out.print("连接失败");
}
return con;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-03
展开全部
这里实现两种常用数据库的链接:mysql与oracle
1.oracle
import java.sql.*;
import java.sql.SQLException.*;
import oracle.jdbc.driver.*;
class DatabaseCon{
private final String DBDRIVER="oracle.jdbc.driver.OracleDriver";
private final String DBURL="jdbc:oracle:thin:@10.4.12.11:1521:xuze";
private final String DBUSER="scott";
private final String DBPASS="xuze";
private Connection con=null;
//定义各种常量,用来连接数据库
public DatabaseCon(){
try
{
Class.forName(DBDRIVER);
this.con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
con.setAutoCommit(false);
}
catch(Exception e)
{
System.out.println("连接数据库出现错误:"+e.getMessage());
}
}
//构造函数,用来连接数据库,只要一旦实例化,就算已经连接上了数据库
public Connection getConnection(){
return this.con;
}
//取得数据库的连接
public void close()
{
try
{
if(!this.con.isClosed())
this.con.close();
}
catch(Exception e)
{
System.out.println("数据库关闭出现异常:"+e.getMessage());
}
}
}
2.mysql
import java.sql.*;
class DatabaseCon{
private final String DBDRIVER="com.mysql.jdbc.Driver";
private final String DBURL="jdbc:mysql://localhost:3306/admin";//admin是你的数据库名
private final String DBUSER="root";
private final String DBPASS="root";
private Connection con=null;
public DatabaseCon(){
try
{
Class.forName(DBDRIVER);
this.con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
con.setAutoCommit(false);
}
catch(Exception e)
{
System.out.println("连接数据库出现错误:"+e.getMessage());
}
}
//构造函数,用来连接数据库,只要一旦实例化,就算已经连接上了数据库
public Connection getConnection(){
return this.con;
}
//取得数据库的连接
public void close()
{
try
{
if(!this.con.isClosed())
this.con.close();
}
catch(Exception e)
{
System.out.println("数据库关闭出现异常:"+e.getMessage());
}
}
}
1.oracle
import java.sql.*;
import java.sql.SQLException.*;
import oracle.jdbc.driver.*;
class DatabaseCon{
private final String DBDRIVER="oracle.jdbc.driver.OracleDriver";
private final String DBURL="jdbc:oracle:thin:@10.4.12.11:1521:xuze";
private final String DBUSER="scott";
private final String DBPASS="xuze";
private Connection con=null;
//定义各种常量,用来连接数据库
public DatabaseCon(){
try
{
Class.forName(DBDRIVER);
this.con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
con.setAutoCommit(false);
}
catch(Exception e)
{
System.out.println("连接数据库出现错误:"+e.getMessage());
}
}
//构造函数,用来连接数据库,只要一旦实例化,就算已经连接上了数据库
public Connection getConnection(){
return this.con;
}
//取得数据库的连接
public void close()
{
try
{
if(!this.con.isClosed())
this.con.close();
}
catch(Exception e)
{
System.out.println("数据库关闭出现异常:"+e.getMessage());
}
}
}
2.mysql
import java.sql.*;
class DatabaseCon{
private final String DBDRIVER="com.mysql.jdbc.Driver";
private final String DBURL="jdbc:mysql://localhost:3306/admin";//admin是你的数据库名
private final String DBUSER="root";
private final String DBPASS="root";
private Connection con=null;
public DatabaseCon(){
try
{
Class.forName(DBDRIVER);
this.con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
con.setAutoCommit(false);
}
catch(Exception e)
{
System.out.println("连接数据库出现错误:"+e.getMessage());
}
}
//构造函数,用来连接数据库,只要一旦实例化,就算已经连接上了数据库
public Connection getConnection(){
return this.con;
}
//取得数据库的连接
public void close()
{
try
{
if(!this.con.isClosed())
this.con.close();
}
catch(Exception e)
{
System.out.println("数据库关闭出现异常:"+e.getMessage());
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询