• JAVA写接口傻瓜($)教程(三)


      接上一篇

      补充:事实上java的类需要在src文件夹里写,classes文件夹只是会同步src文件夹里的类。如果在classes文件夹里操作java类,是会提示文件只读的。src文件夹中进行代码编写

      

      5、数据库连接代码

        到第三篇终于到了写代码的时间了呜呜...我选择写调试数据库的代码,直接写sevlert的话debug比较麻烦,先写数据库部分就能有效避免数据库出错了。下面是代码,注释很详细了

        

    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by Fernflower decompiler)
    //
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    
    public class jdbc{
        public jdbc         () {
        }
    
        public static void main(String[] args) {
            String dbURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=S-T";//JDBC的本机地址,DatabaseName注意改成对应数据库的名字
            String userName = "sa";
            String userPwd = "111";//SQD sever验证的用户名和密码
            Connection dbConn = null;//连接的实体
            String sql = "select * from Student";
    
            try {
                dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
                Statement statement = dbConn.createStatement();
                ResultSet resultSet = statement.executeQuery(sql);//执行SQL语句,用于产生单个结果集
                System.out.println(resultSet);//返回值不为-11或空就证明SQL语句执行成功
            } catch (SQLException var18) {
                var18.printStackTrace();
            } finally {
                try {
                    if (dbConn != null) {//结束时关闭连接
                        dbConn.close();
                        dbConn = null;
                    }
                } catch (Exception var17) {
                }
    
            }
    
        }
    }
    

       6、使用fastjson将查询出的结果生成json数据

        在日志解析,前后端数据传输交互中,经常会遇到字符串(String)与json,XML等格式相互转换与解析,其中json以跨语言,跨前后端的优点在开发中被频繁使用,基本上可以说是标准的数据交换格式。fastjson是一个java语言编写的高性能且功能完善的JSON库,它采用一种“假定有序快速匹配”的算法,把JSON Parse 的性能提升到了极致。它的接口简单易用,已经被广泛使用在缓存序列化,协议交互,Web输出等各种应用场景中。

        如果简介看不懂也没关系,我们只需知道,fastjson使用前需要有一个类说明它要转化的对象的样式。这个类需要有空构造函数、一般构造函数,每一个属性都需要有对应的get、set方法。下面是一个学生类

        

    public class student {
        String name;
        String id;
        String sex;
        String age;
        public student(){
    
        }
        public student(String name,String id,String sex,String age){
            this.age=age;
            this.name=name;
            this.id=id;
            this.age=age;
       }
       public void setName(String name){
            this.name=name;
       }
       public void setId(String id){
            this.id=id;
       }
       public void setSex(String sex){
            this.sex=sex;
       }
       public void setAge(String age){
            this.age=age;
       }
       public String getName(){
            return name;
    
       }
       public String getId(){
            return id;
       }
       public String getSex(){
            return sex;
       }
       public String getAge(){
            return age;
       }
    }
    

         

    import com.alibaba.fastjson.JSONObject;
    
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.List;
    
    
    //这是查询后显示的代码,详情看注释
    public class connect {
        public static void main(String[] args) {
    
            String dbURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=S-T";
            String userName="sa";
            String userPwd="111";
            Connection dbConn = null;
            String sql="select * from Student";//同连接数库的含义
            List<student> students=new ArrayList<>();//开一个list来保存学生信息
            try {
                //response.setContentType("text/html");
                dbConn= DriverManager.getConnection(dbURL,userName,userPwd);
                Statement statement=dbConn.createStatement();
                ResultSet resultSet=statement.executeQuery(sql);
    
                while (resultSet.next()){//每查询到一条记录
                    student st=new student();//存储一个新对象
                    st.setName(resultSet.getString("Sname"));//注意观察,set方法是针对student类的,getString里对应的是数据库中的列明
                    st.setId(resultSet.getString("Sno"));
                    st.setSex(resultSet.getString("Ssex"));
                    st.setAge(resultSet.getString("Sage"));
                    students.add(st);//加入list
                }
                System.out.println(JSONObject.toJSONString(students));//转变为json对象
            } catch (SQLException e) {
                e.printStackTrace();
            }
            finally {
                try
                {//关闭连接
                    if(dbConn!=null)
                    {
                        dbConn.close();
                        dbConn=null;
                    }
                }
                catch(Exception ex)
                {
                }
            }
        }
    }
    

         查询结果,可以看出是json格式

        

  • 相关阅读:
    算法导论第11章 散列表
    Ubuntu14.04上安装Jupyter的方法
    WinSCP连接远程的Ubuntu失败
    K-means和K-means++好的网站
    Ubuntu14.04上安装pip的方法
    算法导论第一章
    微服务架构的特点
    国内maven仓库地址 || 某个pom或者jar找不到的解决方法
    REST or RPC?
    zookeeper安装及环境变量设置
  • 原文地址:https://www.cnblogs.com/wxy990118/p/10696414.html
Copyright © 2020-2023  润新知