zoukankan      html  css  js  c++  java
  • 第15周作业

    题目1:编写一个应用程序,输入用户名和密码,访问test数据库中t_login表(字段包括id、username、password),验证登录是否成功。

    package cc;

    import java.sql.Connection;

    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Scanner;
    public class login {
    public static void main(String[] args) {
    try {
    Class.forName("com.mysql.jdbc.Driver");
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入用户名");
    String user=sc.next();
    System.out.println("请输入密码");
    String pass=sc.next();
    try {
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/adminn","root","1234");
    Statement st=con.createStatement();
    ResultSet rs=st.executeQuery("select * from login where username='"+user+"' and password='"+pass+"'");
    // ResultSet rs=st.executeQuery("select * from login where username = 'lijintao'");
    if(rs.next()){
    System.out.print("登陆成功");
    }else{
    System.out.print("登录失败");
    }
    if(rs!=null){
    rs.close();
    }
    st.close();
    con.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }

    }

    }

    运行结果

    题目2:在上一题基础上,当登录成功后,将t_user表(id、name、sex、birthday)的信息进行显示(要求使用DB.java完成登录和获取t_user表中数据的操作),最后再对t_user表进行一条记录的添加操作。

     package cv;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;

    public class DB {
    private Connection con;
    private PreparedStatement pre;
    ResultSet rs;
    private static DB db;
    static{
    try{
    Class.forName("com.mysql.jdbc.Driver");//加载驱动
    }catch(ClassNotFoundException e){
    e.printStackTrace();
    }
    }
    public static DB getInstance(){//单例模式
    if(db==null){
    db=new DB();
    }
    return db;
    }
    private DB(){
    try{
    con =DriverManager.getConnection("jdbc:mysql://localhost:3306/adminn","root","1234");//创建数据库连接对象
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    public ResultSet executeSelect(String sql, Object[] args){//查询的方法
    try{
    pre =con.prepareStatement(sql); //预处理
    if(args.length>0){
    for(int i=0;i<args.length;i++){
    pre.setObject(i+1, args[i]);
    }
    }
    rs=pre.executeQuery();
    }catch(SQLException e){
    e.printStackTrace();
    }
    return rs;
    }
    public int executeModify(String sql,Object[] args){//增删改的方法
    int n=0;
    try{
    pre =con.prepareStatement(sql);//预处理
    if(args.length>0){
    for(int i=0;i<args.length;i++){
    pre.setObject(i+1, args[i]);
    }
    }
    n = pre.executeUpdate();//更新
    }catch(SQLException e){
    e.printStackTrace();
    }
    return n;
    }
    public void close(){//资源的关闭
    try{
    if(rs!=null){
    rs.close();
    }
    pre.close();
    con.close();
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    }

    package cv;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Date;
    import java.util.Scanner;
    public class Tesr {
    public static void main(String[] args) {
    Connection con=null; //创建连接对象
    PreparedStatement pre=null;//预处理对象
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入用户名");
    String user=sc.next();
    System.out.println("请输入密码");
    String pass=sc.next();
    Object b[]={user,pass};//从键盘接受的用户名和密码 放到数组中
    String sql="select * from login where username=? and password=?";//查询语句
    DB db=DB.getInstance();
    db.executeSelect(sql, b);//调用db的方法
    try{
    if(db.rs.next()){
    System.out.println("登陆成功");
    Object d[]=new Object[30];//设置数组用来放查询的内容
    sql="select * from user";
    db.executeSelect(sql, d);
    while(db.rs.next()){
    String name1=db.rs.getString(2);//获取查询到的数据
    String sex1=db.rs.getString(3);
    String brithday=db.rs.getString(4);
    System.out.println("姓名"+name1+" 性别"+sex1+" 生日日期"+brithday+" " );
    }
    System.out.print("请输入新的数据");
    String name=sc.next();
    String sex=sc.next();
    String birthday=sc.next();
    Object j[]={name,sex, birthday};//从键盘接受的内容放到数组中
    String sqll="insert into user(name,sex,birthday)values(?,?,?)";//增加语句
    int m=db.executeModify(sqll,j);//调用db增加的方法
    if(m > 0){
    System.out.println("增加成功");
    }else{
    System.out.println("增加失败");
    }

    } else{

    System.out.print("登陆失败");
    }
    }catch(SQLException e){
    e.printStackTrace();
    }
    }

    }

    运行结果

  • 相关阅读:
    JavaScript模态对话框类
    事件模块的演变(1)
    html5中可通过document.head获取head元素
    How to search for just a specific file type in Visual Studio code?
    What do 'lazy' and 'greedy' mean in the context of regular expressions?
    正则非获取匹配 Lookahead and Lookbehind ZeroLength Assertions
    regex length 正则长度问题
    Inversion of Control vs Dependency Injection
    How to return View with QueryString in ASP.NET MVC 2?
    今天才发现Google Reader
  • 原文地址:https://www.cnblogs.com/LJTQ/p/12044257.html
Copyright © 2011-2022 走看看