本人初学者一枚,看着网上的教程学者编了这个小程序,程序一半为教程里所编,自己也照猫画虎编了一半,所以也不全是原创,但不管怎么说,还是大致学会了使用java操作数据库,非常感谢那个教程。另外可以供像我一样初学的人参考。
package mysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
public class test
{
public static void main(String[] args) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");//加载驱动包
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/stusys?characterEncoding=gbk", "root", "123");
//使用DriverManager获取数据库连接,其中返回的Connection就代表了java程序和数据库的连接,括号内为mysql数据库的URL写法
Statement stmt=conn.createStatement();//使用Connection来建立一个Statement对象
Scanner sc=new Scanner(System.in);//接收键盘输入
System.out.println("\t1.新增帐号信息");
System.out.println("\t2.修改帐号信息");
System.out.println("\t3.删除帐号信息");
System.out.println("\t请输入选项:");
int n=sc.nextInt();//接收选项
if(n==1)
{
System.out.println("请输入新的账号:");
String usersname=sc.next();
System.out.println("请输入新的密码:");
String password=sc.next();
String sql="select * from users where usersname='"+usersname+"'";//数据库里字符串类型的用单引号加起来,java里字符串类型的用双引号加起来
ResultSet rs=stmt.executeQuery(sql);//使用Statement对象的查询方法查询,查询使用result,增删改使用update
if(rs.next())//调用next方法
{
System.out.println("该帐号已注册");
}
else
{
sql="insert into users values('"+usersname+"','"+password+"')";//插入语句
int i=stmt.executeUpdate(sql);//执行表的更新
if(i!=0)//i非0则动作执行成功,为0则相反
{
System.out.println("账号添加成功");
}
else
{
System.out.println("账号添加失败");
}
}
}
else if(n==2)
{
System.out.println("请输入所查询帐号");
String usersname=sc.next();//用string类型的usersname来接收
String sql="select * from users where usersname='"+usersname+"'";//数据库查询语句
ResultSet rs=stmt.executeQuery(sql);//返回查询结果给rs
String username;
String passwrod;
if(rs.next())
{
username=rs.getString(1);//getString(columnindex)括号里为列的下标
passwrod=rs.getString(2);
System.out.println("帐号:"+username);
System.out.println("密码:"+passwrod);
System.out.println("请输入新帐号");
String newusersname=sc.next();
System.out.println("请输入新密码");
String newpassword=sc.next();
sql="update users set usersname=\'"+newusersname+"\',password=\'"+newpassword+"\' where usersname=\'"+username+"\'";
int i=stmt.executeUpdate(sql);//执行语句。
if(i!=0)
{
System.out.println("信息修改成功");
}
else
{
System.out.println("信息修改失败");
}
}
else
{
System.out.println("没有该帐号信息");
}
}
else
{
System.out.println("请输入所删除的帐号");
String usersname=sc.next();//用string类型的usersname来接收
String sql="select * from users where usersname='"+usersname+"'";//查询
ResultSet rs=stmt.executeQuery(sql);//查询
if(rs.next())
{
sql="delete from users where usersname='"+usersname+"'";
int i=stmt.executeUpdate(sql);
if(i!=0)
{
System.out.println("删除成功");
}
else
{
System.out.println("删除失败");
}
}
else
{
System.out.println("没有该帐号信息");
}
}
}
}
1.连接java和数据库需要数据库驱动,我下载的是mysql-connector-java-5.1.7-bin。在project下新建一个文件夹,将这个jar包添加进去即可。
2.我在编程中遇到的问题,在修改一条元组时刚开始把两个字段逐个修改,结果只能执行后一个字段,后来问同学才知道每一句sql语句后要加执行语句,否则会被后面的sql语句覆盖。这个问题可能别人看很简单,但是对于像我这样的新手还是费了一些时间,不过这下记得牢了。