• NoSql实验(一) MySQL数据库操作


    Name

    English

    Math

    Computer

    zhangsan

    69

    86

    77

    lisi

    55

    100

    88

    根据上面给出的Student表,在MySQL数据库中完成如下操作:

    (1)    在MySQL中创建Student表,并录入数据;

    CREATE TABLE `student` (

      `id` int(11) NOT NULL,

      `name` varchar(45) COLLATE utf8_bin NOT NULL,

      `english` varchar(45) COLLATE utf8_bin NOT NULL,

      `math` varchar(45) COLLATE utf8_bin NOT NULL,

      `computer` varchar(45) COLLATE utf8_bin NOT NULL,

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

    (2)    用SQL语句输出Student表中的所有记录;

    SELECT * FROM test_nosql.student;

    (3)    查询zhangsan的Computer成绩;

    SELECT computer FROM test_nosql.student where name_='zhangsan';

    (4)修改lisi的Math成绩,改为95。

     update test_nosql.student  set math='95' where name_='lisi';

    根据上面已经设计出的Student表,使用MySQL的JAVA客户端编程实现以下操作:

    (1)向Student表中添加如下所示的一条记录:

    scofield

    45

    89

    100

          

    (2)获取scofield的English成绩信息

    package utils;

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

    import com.mchange.v2.c3p0.ComboPooledDataSource;

    public class JDBCTools {
       private static ComboPooledDataSource cpds;
       static {
          cpds=new ComboPooledDataSource("testc3p0");
       }
       public static Connection getConnection() throws SQLException
       {
          Connection conn=null;
          conn= cpds.getConnection();
          return conn;
       }
       public static void release(Connection conn,PreparedStatement ps,ResultSet rs)
       {
          try{
             if(conn!=null)
             {
                conn.close();
             }
             if(ps!=null)
             {
                ps.close();
             }
             if(rs!=null)
             {
                rs.close();
             }
          }catch(SQLException e)
          {
             e.printStackTrace();
          } 
       }
       public static void main(String[] args) throws SQLException{
          System.out.println(JDBCTools.getConnection());
       }

    }

    package Dao;

    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.List;

    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    import org.apache.commons.dbutils.handlers.BeanListHandler;
    import org.apache.commons.dbutils.handlers.ScalarHandler;

    import utils.JDBCTools;

    public class BaseDao {
       private QueryRunner qr=new QueryRunner();
       private Connection conn=null;
       private PreparedStatement ps=null;
       private ResultSet rs=null;
       //更新,删除,插入
      
    public int upDate(String sql,Object ... args)
       {
          try {
             conn=JDBCTools.getConnection();
             return qr.update(conn,sql,args);
          } catch (SQLException e) {
             // TODO Auto-generated catch block
            
    e.printStackTrace();
          }finally{
             JDBCTools.release(conn, ps, rs);
          }
          return -1;
       }
       //查询单个数据
      
    public <T>T queryForOne(Class<T> type,String sql,Object ... args)
       {
          try {
             conn=JDBCTools.getConnection();
             return qr.query(conn,sql,new BeanHandler<T>(type),args);
          } catch (SQLException e) {
             // TODO Auto-generated catch block
            
    e.printStackTrace();
          }finally{
             JDBCTools.release(conn, ps, rs);
          }
          return null;
       }
       //查询list数据
      
    public <T>List<T> queryForList(Class<T> type,String sql,Object ... args)
       {
          try {
             conn=JDBCTools.getConnection();
             return qr.query(conn,sql,new BeanListHandler<T>(type),args);
          } catch (SQLException e) {
             // TODO Auto-generated catch block
            
    e.printStackTrace();
          }finally{
             JDBCTools.release(conn, ps, rs);
          }
          return null;
       }
       //将单个之封装如count*
      
    public Object queryForSingleValue(String sql,Object...args)
       {
          try {
             conn=JDBCTools.getConnection();
             return qr.query(conn,sql,new ScalarHandler(),args);
          } catch (SQLException e) {
             // TODO Auto-generated catch block
            
    e.printStackTrace();
          }
          return null;
       }
    }

    package test;

    import Dao.BaseDao;
    import Data.ArticleData;

    public class test_student_dao extends BaseDao {
        public int qrInsert(String name_,String english ,String math,String computer )
        {
            String sql="INSERT INTO student(name_,english,math,computer) values(?,?,?,?)";
            return upDate(sql,name_,english,math,computer);
        }
        public test_student qrFindOne()
        {
            String sql="select english from student where name_='scofield'";
            return queryForOne(test_student.class,sql);
        }
        public static void main(String arg[]){
                test_student_dao test=new test_student_dao();
                test.qrInsert("scofield","45","89","100");
                test_student student=new test_student();
                student=test.qrFindOne();
                System.out.printf("英语成绩:"+student.getEnglish());

        }
    }
  • 相关阅读:
    Django登录逻辑,中间用到Cookie创建、读取、删除、等操作
    CBV和FBV用户认证装饰器
    Django Session配置
    Django基于Cookie装饰器实现用户认证
    回归博客
    Jenkins部署
    iostat命令详解
    被入侵和删除木马程序的经历
    centos7 centos-home 磁盘转移至centos-root下
    zabbix图形显示口口不显示汉字
  • 原文地址:https://www.cnblogs.com/fengchuiguobanxia/p/15511510.html
Copyright © 2020-2023  润新知