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格式
JAVA写接口傻瓜($)教程(三)的更多相关文章
- JAVA写接口傻瓜(?)教程(一)
当一个安卓开发人员/微信小程序开发者想做点什么的时候,如果他发现没有合适的接口,那么单机安卓.本地数据库emmm.没了接口就好像老人没了拐杖.盲人没了墨镜,完全可以称得上是举步维艰.生活艰难到需要自己 ...
- JAVA写接口傻瓜(#)教程(四)
接上篇 7.sevlert 啊啊啊终于写到最重要的实现部分了.Servlet = Service + Applet,表示小服务程序.Servlet 是在服务器上运行的小程序.这个词是在 Java ap ...
- JAVA写接口傻瓜(%)教程(五)
今天主要说一下在URL 中使用?传值的问题.在显式的使用get方法获取特点数据时,一般会通过?传递参数值,sevlert根据参数在数据库中对应的查找内容.所以,SQL语句需要拼接,要加上后面的参数.参 ...
- JAVA写接口傻瓜(!)教程(二)
接上一篇 3.数据库SQL sever配置 理论上来说,java web项目连接什么数据库都行,但是我电脑上SQL sever用了三年了,各种操作都比较熟悉,所以也懒得再用My SQL.想用My SQ ...
- java写接口
1.先导spring包 2.首先配置spring.xml的监听web.xml配置. <context-param> <param-name>contextConfigLocat ...
- 用java写bp神经网络(三)
孔子曰,吾日三省吾身.我们如果跟程序打交道,除了一日三省吾身外,还要三日一省吾代码.看代码是否可以更简洁,更易懂,更容易扩展,更通用,算法是否可以再优化,结构是否可以再往上抽象.代码在不断的重构过程中 ...
- JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!
JAVA之旅(三十五)--完结篇,终于把JAVA写完了,真感概呐! 这篇博文只是用来水经验的,写这个系列是因为我自己的java本身也不是特别好,所以重温了一下,但是手比较痒于是就写出了这三十多篇博客了 ...
- 寻找写代码感觉(三)之使用 Spring Boot 编写接口
一.前言 项目配置完之后,接着就是写接口了,那咱们就开始吧. 二.项目配置补充知识点 上篇文章写的是关于项目属性配置的一些知识,这里针对上次遗忘内容进行补充如下: 2.1.获取配置文件的值 在appl ...
- java为移动端写接口
java作为一门后端语言,其厉害之处在于web,大家比较熟知的各种网络应用,java都能做,那么在这个移动优先的时代,如何继续发挥java的强大呢.通常是让java作为一个app的服务端,为app客户 ...
随机推荐
- Hibernate的load和get方法的区别
这次我们聊一下Hibernate3.2 Session加载数据时get和load方法的区别,我总结的如下: 1. 对于get方法,hibernate会确认一下该id对应的数据是否存在,首先在sessi ...
- JQuery小知识
一.禁用鼠标右键 $(document).ready(function() { $(document).bind("contextmenu", function(e) { retu ...
- c#进阶之泛型
好久没用写博了,感觉工作的越久就越发的懒了,啦啦啦!德玛西亚! 感觉最近食欲不正,便想写写组织下自己的学习路程: 泛型,可能很多朋友在学习这个东西的时候都源于面向对象,当然我也不例外:从一个实体继承另 ...
- (cvpr 2018)Technology details of SMRD
1.摘要 近年来,深度卷积神经网络(CNN)方法在单幅图像超分辨率(SISR)领域取得了非常大的进展.然而现有基于 CNN 的 SISR 方法主要假设低分辨率(LR)图像由高分辨率(HR)图像经过双三 ...
- java问题排查之Load CPU很高
1首先 找到对应的java进程id ps -aux | grep java 这个命令可以找到 2.接下来就是查找比较耗CPU的线程id top -H -p pid 这里可以观察出来耗时最多的几个进程中 ...
- WSDL文件
WSDL: <!--一次webservice调用,其实并不是方法调用,而是发送SOAP消息 ,即xml片段--> <!--以上一篇中的wsdl文档为例,这里我将注释写到文档中 --& ...
- pyautogui
pip install PyGetWindow==0.0.1 pip install pyautogui https://www.cnblogs.com/dcb3688/p/4607980.html
- 《一些神奇的JS功效》
1: async 异步回调 (ES6) async function test(){ console.log("hello wolrd"); } test().then(funct ...
- [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype
程序清单8.1(inline内联函数) #include<iostream> using namespace std; inline double square(double x) {// ...
- 解决 ImportError: No module named _internal
参考: My pip is broken. _internal module cannot be imported. #5253 解决 ImportError: No module named _in ...