关于java连接JDBC问题?
请问下各位,怎样用eclipse连接mysql啊?一个登录页面,有帐户名和密码,连接到mysql的phone数据库的admin表,admin分为id(帐号)和pwd(密码...
请问下各位, 怎样用eclipse连接mysql啊?一个登录页面,有帐户名和密码,连接到mysql的phone数据库的admin表,admin分为id(帐号)和pwd(密码),登陆时检测和admin表的帐号符合不?符合的话就进入mian页面,不符合就弹出消息框显示“帐号或者密码错误”, 希望各位帮帮忙,谢谢!
对了是j2se的, 安装配置有了。。需要代码,谢谢! 登录页面是login,验证成功跳转页面是main,现在需要login和mysql驱动那页面的代码,可以发我邮箱 zhikeh@vip.qq.com 谢谢! 思路还是清晰的,只是语法那些不懂啊 展开
对了是j2se的, 安装配置有了。。需要代码,谢谢! 登录页面是login,验证成功跳转页面是main,现在需要login和mysql驱动那页面的代码,可以发我邮箱 zhikeh@vip.qq.com 谢谢! 思路还是清晰的,只是语法那些不懂啊 展开
5个回答
展开全部
你是要代码还是思路?
代码的话你直接到网上找找,一大堆,而且只需修改一点点就能用。
至于思路的话,很容易。先获取输入的账号和密码。然后通过账号用select语句从数据库里拿出密码。再和输入的密码匹配,如果一样就通过,不一样则弹出消息框。
如果找不到代码,我可以帮你找。但是这个是非常基本的语句。自己应该也能写出来的。都是一些操作数据库的语句。所以建议看看别人怎么写,自己写会好一点。不会很难的。
具体过程你还得下载一个jdbc mysql的驱动包,然后放进去才能链接数据库。
//加载驱动程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//创建连接
con=DriverManager.getConnection(url,user,pwd);
这个是创建数据库连接的。
接着通过这个连接就可以操作数据库了。
还有不懂的我再具体告诉你。最好自己先到网上查查怎么做。不会很难的。
代码的话你直接到网上找找,一大堆,而且只需修改一点点就能用。
至于思路的话,很容易。先获取输入的账号和密码。然后通过账号用select语句从数据库里拿出密码。再和输入的密码匹配,如果一样就通过,不一样则弹出消息框。
如果找不到代码,我可以帮你找。但是这个是非常基本的语句。自己应该也能写出来的。都是一些操作数据库的语句。所以建议看看别人怎么写,自己写会好一点。不会很难的。
具体过程你还得下载一个jdbc mysql的驱动包,然后放进去才能链接数据库。
//加载驱动程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//创建连接
con=DriverManager.getConnection(url,user,pwd);
这个是创建数据库连接的。
接着通过这个连接就可以操作数据库了。
还有不懂的我再具体告诉你。最好自己先到网上查查怎么做。不会很难的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先需要安装mysql数据库
将数据库驱动jar文件导入右键项目--属性--java build path libraries,添加驱动即可
写数据库访问类(forname,statement,executquery等)网上有很多
使用数据库访问类,即可
将数据库驱动jar文件导入右键项目--属性--java build path libraries,添加驱动即可
写数据库访问类(forname,statement,executquery等)网上有很多
使用数据库访问类,即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.加入MYSQL 的JAR包
2.代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Test {
public static void main(String[] args) throws Exception {
login("admin", "admin");// 成功登录
login("123", "admin");// 登录失败
}
public static void login(String name, String password) throws Exception {// 只有在密码和用户名都是admin是才可以
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/phone",
"root", "root");// 第一个root为数据库登录名,第二个为密码
ps = con.prepareStatement("select * from admin where id=? and pwd=?");
ps.setString(1, "admin");
ps.setString(2, "admin");
rs = ps.executeQuery();
if (rs.next()) {
System.out.println("成功");
} else {
System.out.println("失败");
}
rs.close();
ps.close();
con.close();
}
}
2.代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Test {
public static void main(String[] args) throws Exception {
login("admin", "admin");// 成功登录
login("123", "admin");// 登录失败
}
public static void login(String name, String password) throws Exception {// 只有在密码和用户名都是admin是才可以
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/phone",
"root", "root");// 第一个root为数据库登录名,第二个为密码
ps = con.prepareStatement("select * from admin where id=? and pwd=?");
ps.setString(1, "admin");
ps.setString(2, "admin");
rs = ps.executeQuery();
if (rs.next()) {
System.out.println("成功");
} else {
System.out.println("失败");
}
rs.close();
ps.close();
con.close();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JDBC连接MySQL
加载及注册JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
JDBC URL 定义驱动程序与数据源之间的连接
标准语法:
<protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<data source identifier(数据源)>
MySQL的JDBC URL格式:
jdbc:mysql//[hostname][:port]/[dbname][?param1=value1][¶m2=value2]….
示例:jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password
常见参数:
user 用户名
password 密码
autoReconnect 联机失败,是否重新联机(true/false)
maxReconnect 尝试重新联机次数
initialTimeout 尝试重新联机间隔
maxRows 传回最大行数
useUnicode 是否使用Unicode字体编码(true/false)
characterEncoding 何种编码(GB2312/UTF-8/…)
relaxAutocommit 是否自动提交(true/false)
capitalizeTypeNames 数据定义的名称以大写表示
建立连接对象
String url="jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password";
Connection con = DriverManager.getConnection(url);
建立SQL陈述式对象(Statement Object)
Statement stmt = con.createStatement();
执行SQL语句
executeQuery()
String query = "select * from test";
ResultSet rs=stmt.executeQuery(query);
结果集ResultSet
while(rs.next())
{rs.getString(1);rs.getInt(2);}
executeUpdate()
String upd="insert into test (id,name) values(1001,xuzhaori)";
int con=stmt.executeUpdate(upd);
execute()
示例:
try
{
}
catch(SQLException sqle)
{
}
finally
{
}
Java类型和SQL类型 技术手册P421
PreparedStatement(预编语句)
PreparedStatement stmt = conn.prepareStatement("insert into test(id,name)values(?,?)");
stmt.setInt(1,id);
stmt.setString(2,name);
注:一旦设定语句的参数值后,就可以多次执行改语句,直到调用clearParameters()方法将他清除为止
CallableStatement(预储程序)技术手册P430
JDBC2.0使用
ResultSet对象中的光标上下自由移动
Statement stmt = con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery("select * from test");
public Statement createStatement(int resultSetType,int resultSetConcuttency) throws SQLException
resultSetType
TYPE_FORWARD_ONLY 只能使用next()方法。
TYPE_SCROLL_SENSITIVE 可以上下移动,可以取得改变后的值。
TYPE_SCROLL_INSENSITIVE 可以上下移动。
resultSetConcuttency
CONCUR_READ_ONLY 只读
CONCUR_UPDATABLE ResultSet对象可以执行数据库的新增、修改、和移除
直接使用ResultSet对象执行更新数据
新增数据
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet uprs=stmt.executeQuery("select * from test");
uprs.moveToInsertRow();
uprs.updateInt(1,1001);
uprs.updateString(2,"许召日");
uprs.insertRow;
更新数据
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet uprs=stmt.executeQuery("select * from test");
uprs.last();
uprs.updateString("name","xuzhaori");
uprs.updateRow;
删除数据
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet uprs=stmt.executeQuery("select * from test");
uprs.absolute(4);
uprs.deleteRow();
批处理
con.setAutoCommit(false); 关闭自动认可模式
Statement stmt=con.createStatement();
int[] rows;
stmt.addBatch("insert into test values(1001,xuzhaori)");
stmt.addBatch("insert into test values(1002,xuyalin)");
rows=stmt.executeBatch();
con.commit(); 没有任何错误,执行批处理stmt.executeBatch();
加载及注册JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
JDBC URL 定义驱动程序与数据源之间的连接
标准语法:
<protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<data source identifier(数据源)>
MySQL的JDBC URL格式:
jdbc:mysql//[hostname][:port]/[dbname][?param1=value1][¶m2=value2]….
示例:jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password
常见参数:
user 用户名
password 密码
autoReconnect 联机失败,是否重新联机(true/false)
maxReconnect 尝试重新联机次数
initialTimeout 尝试重新联机间隔
maxRows 传回最大行数
useUnicode 是否使用Unicode字体编码(true/false)
characterEncoding 何种编码(GB2312/UTF-8/…)
relaxAutocommit 是否自动提交(true/false)
capitalizeTypeNames 数据定义的名称以大写表示
建立连接对象
String url="jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password";
Connection con = DriverManager.getConnection(url);
建立SQL陈述式对象(Statement Object)
Statement stmt = con.createStatement();
执行SQL语句
executeQuery()
String query = "select * from test";
ResultSet rs=stmt.executeQuery(query);
结果集ResultSet
while(rs.next())
{rs.getString(1);rs.getInt(2);}
executeUpdate()
String upd="insert into test (id,name) values(1001,xuzhaori)";
int con=stmt.executeUpdate(upd);
execute()
示例:
try
{
}
catch(SQLException sqle)
{
}
finally
{
}
Java类型和SQL类型 技术手册P421
PreparedStatement(预编语句)
PreparedStatement stmt = conn.prepareStatement("insert into test(id,name)values(?,?)");
stmt.setInt(1,id);
stmt.setString(2,name);
注:一旦设定语句的参数值后,就可以多次执行改语句,直到调用clearParameters()方法将他清除为止
CallableStatement(预储程序)技术手册P430
JDBC2.0使用
ResultSet对象中的光标上下自由移动
Statement stmt = con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery("select * from test");
public Statement createStatement(int resultSetType,int resultSetConcuttency) throws SQLException
resultSetType
TYPE_FORWARD_ONLY 只能使用next()方法。
TYPE_SCROLL_SENSITIVE 可以上下移动,可以取得改变后的值。
TYPE_SCROLL_INSENSITIVE 可以上下移动。
resultSetConcuttency
CONCUR_READ_ONLY 只读
CONCUR_UPDATABLE ResultSet对象可以执行数据库的新增、修改、和移除
直接使用ResultSet对象执行更新数据
新增数据
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet uprs=stmt.executeQuery("select * from test");
uprs.moveToInsertRow();
uprs.updateInt(1,1001);
uprs.updateString(2,"许召日");
uprs.insertRow;
更新数据
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet uprs=stmt.executeQuery("select * from test");
uprs.last();
uprs.updateString("name","xuzhaori");
uprs.updateRow;
删除数据
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet uprs=stmt.executeQuery("select * from test");
uprs.absolute(4);
uprs.deleteRow();
批处理
con.setAutoCommit(false); 关闭自动认可模式
Statement stmt=con.createStatement();
int[] rows;
stmt.addBatch("insert into test values(1001,xuzhaori)");
stmt.addBatch("insert into test values(1002,xuyalin)");
rows=stmt.executeBatch();
con.commit(); 没有任何错误,执行批处理stmt.executeBatch();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询