接上一篇

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

  

  5、数据库连接代码

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

    

  1. //
  2. // Source code recreated from a .class file by IntelliJ IDEA
  3. // (powered by Fernflower decompiler)
  4. //
  5.  
  6. import java.sql.Connection;
  7. import java.sql.DriverManager;
  8. import java.sql.ResultSet;
  9. import java.sql.SQLException;
  10. import java.sql.Statement;
  11. import java.util.ArrayList;
  12.  
  13. public class jdbc{
  14. public jdbc () {
  15. }
  16.  
  17. public static void main(String[] args) {
  18. String dbURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=S-T";//JDBC的本机地址,DatabaseName注意改成对应数据库的名字
  19. String userName = "sa";
  20. String userPwd = "111";//SQD sever验证的用户名和密码
  21. Connection dbConn = null;//连接的实体
  22. String sql = "select * from Student";
  23.  
  24. try {
  25. dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
  26. Statement statement = dbConn.createStatement();
  27. ResultSet resultSet = statement.executeQuery(sql);//执行SQL语句,用于产生单个结果集
  28. System.out.println(resultSet);//返回值不为-11或空就证明SQL语句执行成功
  29. } catch (SQLException var18) {
  30. var18.printStackTrace();
  31. } finally {
  32. try {
  33. if (dbConn != null) {//结束时关闭连接
  34. dbConn.close();
  35. dbConn = null;
  36. }
  37. } catch (Exception var17) {
  38. }
  39.  
  40. }
  41.  
  42. }
  43. }

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

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

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

    

  1. public class student {
  2. String name;
  3. String id;
  4. String sex;
  5. String age;
  6. public student(){
  7.  
  8. }
  9. public student(String name,String id,String sex,String age){
  10. this.age=age;
  11. this.name=name;
  12. this.id=id;
  13. this.age=age;
  14. }
  15. public void setName(String name){
  16. this.name=name;
  17. }
  18. public void setId(String id){
  19. this.id=id;
  20. }
  21. public void setSex(String sex){
  22. this.sex=sex;
  23. }
  24. public void setAge(String age){
  25. this.age=age;
  26. }
  27. public String getName(){
  28. return name;
  29.  
  30. }
  31. public String getId(){
  32. return id;
  33. }
  34. public String getSex(){
  35. return sex;
  36. }
  37. public String getAge(){
  38. return age;
  39. }
  40. }

    

  1. import com.alibaba.fastjson.JSONObject;
  2.  
  3. import java.sql.*;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. //这是查询后显示的代码,详情看注释
  8. public class connect {
  9. public static void main(String[] args) {
  10.  
  11. String dbURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=S-T";
  12. String userName="sa";
  13. String userPwd="111";
  14. Connection dbConn = null;
  15. String sql="select * from Student";//同连接数库的含义
  16. List<student> students=new ArrayList<>();//开一个list来保存学生信息
  17. try {
  18. //response.setContentType("text/html");
  19. dbConn= DriverManager.getConnection(dbURL,userName,userPwd);
  20. Statement statement=dbConn.createStatement();
  21. ResultSet resultSet=statement.executeQuery(sql);
  22.  
  23. while (resultSet.next()){//每查询到一条记录
  24. student st=new student();//存储一个新对象
  25. st.setName(resultSet.getString("Sname"));//注意观察,set方法是针对student类的,getString里对应的是数据库中的列明
  26. st.setId(resultSet.getString("Sno"));
  27. st.setSex(resultSet.getString("Ssex"));
  28. st.setAge(resultSet.getString("Sage"));
  29. students.add(st);//加入list
  30. }
  31. System.out.println(JSONObject.toJSONString(students));//转变为json对象
  32. } catch (SQLException e) {
  33. e.printStackTrace();
  34. }
  35. finally {
  36. try
  37. {//关闭连接
  38. if(dbConn!=null)
  39. {
  40. dbConn.close();
  41. dbConn=null;
  42. }
  43. }
  44. catch(Exception ex)
  45. {
  46. }
  47. }
  48. }
  49. }

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

    

JAVA写接口傻瓜($)教程(三)的更多相关文章

  1. JAVA写接口傻瓜(?)教程(一)

    当一个安卓开发人员/微信小程序开发者想做点什么的时候,如果他发现没有合适的接口,那么单机安卓.本地数据库emmm.没了接口就好像老人没了拐杖.盲人没了墨镜,完全可以称得上是举步维艰.生活艰难到需要自己 ...

  2. JAVA写接口傻瓜(#)教程(四)

    接上篇 7.sevlert 啊啊啊终于写到最重要的实现部分了.Servlet = Service + Applet,表示小服务程序.Servlet 是在服务器上运行的小程序.这个词是在 Java ap ...

  3. JAVA写接口傻瓜(%)教程(五)

    今天主要说一下在URL 中使用?传值的问题.在显式的使用get方法获取特点数据时,一般会通过?传递参数值,sevlert根据参数在数据库中对应的查找内容.所以,SQL语句需要拼接,要加上后面的参数.参 ...

  4. JAVA写接口傻瓜(!)教程(二)

    接上一篇 3.数据库SQL sever配置 理论上来说,java web项目连接什么数据库都行,但是我电脑上SQL sever用了三年了,各种操作都比较熟悉,所以也懒得再用My SQL.想用My SQ ...

  5. java写接口

    1.先导spring包 2.首先配置spring.xml的监听web.xml配置. <context-param> <param-name>contextConfigLocat ...

  6. 用java写bp神经网络(三)

    孔子曰,吾日三省吾身.我们如果跟程序打交道,除了一日三省吾身外,还要三日一省吾代码.看代码是否可以更简洁,更易懂,更容易扩展,更通用,算法是否可以再优化,结构是否可以再往上抽象.代码在不断的重构过程中 ...

  7. JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!

    JAVA之旅(三十五)--完结篇,终于把JAVA写完了,真感概呐! 这篇博文只是用来水经验的,写这个系列是因为我自己的java本身也不是特别好,所以重温了一下,但是手比较痒于是就写出了这三十多篇博客了 ...

  8. 寻找写代码感觉(三)之使用 Spring Boot 编写接口

    一.前言 项目配置完之后,接着就是写接口了,那咱们就开始吧. 二.项目配置补充知识点 上篇文章写的是关于项目属性配置的一些知识,这里针对上次遗忘内容进行补充如下: 2.1.获取配置文件的值 在appl ...

  9. java为移动端写接口

    java作为一门后端语言,其厉害之处在于web,大家比较熟知的各种网络应用,java都能做,那么在这个移动优先的时代,如何继续发挥java的强大呢.通常是让java作为一个app的服务端,为app客户 ...

随机推荐

  1. Hibernate的load和get方法的区别

    这次我们聊一下Hibernate3.2 Session加载数据时get和load方法的区别,我总结的如下: 1. 对于get方法,hibernate会确认一下该id对应的数据是否存在,首先在sessi ...

  2. JQuery小知识

    一.禁用鼠标右键 $(document).ready(function() { $(document).bind("contextmenu", function(e) { retu ...

  3. c#进阶之泛型

    好久没用写博了,感觉工作的越久就越发的懒了,啦啦啦!德玛西亚! 感觉最近食欲不正,便想写写组织下自己的学习路程: 泛型,可能很多朋友在学习这个东西的时候都源于面向对象,当然我也不例外:从一个实体继承另 ...

  4. (cvpr 2018)Technology details of SMRD

    1.摘要 近年来,深度卷积神经网络(CNN)方法在单幅图像超分辨率(SISR)领域取得了非常大的进展.然而现有基于 CNN 的 SISR 方法主要假设低分辨率(LR)图像由高分辨率(HR)图像经过双三 ...

  5. java问题排查之Load CPU很高

    1首先 找到对应的java进程id ps -aux | grep java 这个命令可以找到 2.接下来就是查找比较耗CPU的线程id top -H -p pid 这里可以观察出来耗时最多的几个进程中 ...

  6. WSDL文件

    WSDL: <!--一次webservice调用,其实并不是方法调用,而是发送SOAP消息 ,即xml片段--> <!--以上一篇中的wsdl文档为例,这里我将注释写到文档中 --& ...

  7. pyautogui

    pip install PyGetWindow==0.0.1 pip install pyautogui https://www.cnblogs.com/dcb3688/p/4607980.html

  8. 《一些神奇的JS功效》

    1: async 异步回调 (ES6) async function test(){ console.log("hello wolrd"); } test().then(funct ...

  9. [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype

    程序清单8.1(inline内联函数) #include<iostream> using namespace std; inline double square(double x) {// ...

  10. 解决 ImportError: No module named _internal

    参考: My pip is broken. _internal module cannot be imported. #5253 解决 ImportError: No module named _in ...