JqGrid完整例子,springboot面试题及答案高级

index:‘sensortype’,

width: 100,

},{

name:‘unit’,

index:‘unit’,

width: 100,

},{

name:‘highvalue’,

index:‘highvalue’,

width: 100,

}

],

sortname : “id”,

sortorder : “desc”,

viewrecords : true,

shrinkToFit : true,

width: 1645,

height: 500,

rowNum : 20,

rowList : [ 10,15,30 ],

datatype: ‘text’,

pager: “#typeDefinePager”,

onSelectRow:function(rowid){

grid_selectRow = $(grid_selector).jqGrid(“getRowData”,rowid);

},

});

}

})(jQuery);

3、servlet

package com.test.servlet;

import com.test.entity.MyEntity;

import com.test.service.MyService;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

public class MyServlet extends HttpServlet {

MyService service = new MyService();

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException{

response.setContentType(“text/html”);

request.setCharacterEncoding(“utf-8”);

response.setCharacterEncoding(“utf-8”);

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{

response.setContentType(“text/html”);

request.setCharacterEncoding(“utf-8”);

response.setCharacterEncoding(“utf-8”);

String jqgridData = request.getParameter(“data”);

MyEntity myEntity = new MyEntity();

myEntity.setJqgridData(jqgridData);

String str = service.getJqgridData(myEntity);

response.getWriter().print(str);

}

}

4、service

package com.test.service;

import com.test.dao.MyDao;

import com.test.entity.MyEntity;

public class MyService {

MyDao myDao = new MyDao();

public String getJqgridData(MyEntity myEntity) {

String jqgridData = myDao.selectJqgridData(myEntity);

return jqgridData;

}

}

5、dao

package com.test.dao;

import com.test.entity.MyEntity;

import com.test.entity.SecondData;

import com.test.util.MySQLFactory;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

public class MyDao {

public String selectJqgridData(MyEntity myEntity) {

String str = myEntity.getJqgridData();

String data = “”;

try {

JSONObject obj = new JSONObject(str);

String oper = String.valueOf(obj.get(“oper”));

String fileds = String.valueOf(obj.get(“fileds”)).replace(""","")

.replace("[","")

.replace("]","");

String table = String.valueOf(obj.get(“table”));

String sql = String.format(

"select %s from %s ",fileds,table

);

System.out.println(sql);

data = MySQLFactory.queryData(sql);

} catch (JSONException e) {

e.printStackTrace();

}

return data;

}

}

6、entity

package com.test.entity;

public class MyEntity {

private String jqgridData;

public MyEntity() {

}

public MyEntity(String jqgridData) {

this.jqgridData = jqgridData;

}

public String getJqgridData() {

return jqgridData;

}

public void setJqgridData(String jqgridData) {

this.jqgridData = jqgridData;

}

}

7、连接池

package com.test.util;

import java.sql.*;

public class MySQLFactory {

static final String DRVIER = “com.mysql.jdbc.Driver”;

static final String URL = “jdbc:mysql://localhost:3306/mysql”;

static final String USERNAMR = “root”;

static final String PASSWORD = “root”;

private static Connection conn = null;

public static Connection getConnection(){

try {

Class.forName(DRVIER);

conn = DriverManager.getConnection(URL, USERNAMR, PASSWORD);

System.out.println(“成功连接数据库”);

} catch (ClassNotFoundException e) {

throw new RuntimeException(“class not find !”, e);

} catch (SQLException e) {

throw new RuntimeException(“get connection error!”, e);

}

return conn;

}

public static void executeSQL(String sql) {

Statement stat = null;

try {

conn = getConnection();

stat = conn.createStatement();

} catch (Exception e) {

e.printStackTrace();

return;

}

try {

stat.execute(sql);

} catch (Exception e) {

e.printStackTrace();

return;

}

try {

if (stat != null) stat.close();

if (conn != null) conn.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public static String queryNoPage(String sql) {

Connection conn = null;

Statement stat = null;

ResultSet rows = null;

StringBuffer buff = new StringBuffer();

try {

conn = getConnection();

stat = conn.createStatement();

}

catch (Exception e) {

e.printStackTrace();

return “[]”;

}

try {

rows = stat.executeQuery(sql);

//得到数据集的列数

ResultSetMetaData rsmd = rows.getMetaData();

int colCount = rsmd.getColumnCount();

boolean first = true;

buff.append("[");

while (rows.next()) {

String rowStr = “”;

for (int i = 1; i <= colCount; i ++ ) {

if (i>1) rowStr += “,”;

String tempValue = rows.getString(i);

rowStr += String.format("%s", tempValue);

}

rowStr = String.format(""%s"", rowStr);

if (first) first = false;

else buff.append(",");

buff.append(rowStr);

}

buff.append("]");

}catch (Exception e) {

e.printStackTrace();

return “[]”;

}finally {

try {

rows.close();

stat.close();

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

return buff.toString();

}

public static String queryData(String sql){

Connection conn = null;

Statement stat = null;

ResultSet rows = null;

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

开源完整内容戳这里

StringBuffer buff = new StringBuffer();

try {

conn = getConnection();

stat = conn.createStatement();

}

catch (Exception e) {

e.printStackTrace();

return “[]”;

}

try {

rows = stat.executeQuery(sql);

//得到数据集的列数

ResultSetMetaData rsmd = rows.getMetaData();

int colCount = rsmd.getColumnCount();

buff.append("[");

while (rows.next()) {

String rowStr = “”;

buff.append("{");

for (int i = 1; i <= colCount; i ++ ) {

if (i>1) rowStr += “,”;

String name = rsmd.getColumnName(i);

String tempValue = rows.getString(i);

rowStr += String.format(""%s":"%s"", name,tempValue);

}

rowStr = String.format("%s", rowStr);

buff.append(rowStr);

buff.append("},");

}

buff.append("]");

} catch (SQLException e) {

e.printStackTrace();

return “[]”;

}

String str = buff.toString().replace(",]","]");

return str;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程简介:历经半个多月的时间,Debug亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。 其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,Debug还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程! 核心技术栈列表: 值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括Spring Boot、Spring MVC、Mybatis、Mybatis-Plus、Shiro(身份认证与资源授权跟会话等等)、Spring AOP、防止XSS攻击、防止SQL注入攻击、过滤器Filter、验证码Kaptcha、热部署插件Devtools、POI、Vue、LayUI、ElementUI、JQuery、HTML、Bootstrap、Freemarker、一键打包部署运行工具Wagon等等,如下图所示: 课程内容与收益: 总的来说,本课程是一门具有很强实践性质的“项目实战”课程,即“企业应用员工角色权限管理平台”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于Shiro的资源授权实现员工-角色-操作权限、员工-角色-数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图: 以下为项目整体的运行效果截图: 值得一提的是,在本课程中,Debug也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:
课程的实战源码是我在 GitHub 上开源项目 spring-boot-projects 中的其中一个项目代码,目前已有 2300 多个 star,项目截图如下: 由于项目比较受大家欢迎,因此心中就出现了将它做成教学视频的想法,也就是你现在了解的这个课程《SpringBoot入门及前后端分离项目开发》,本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发。Spring Boot 介绍、前后端分离、API 规范等内容旨在让读者更加熟悉 SpringBoot 及企业开发中需要注意的事项并具有使用 SpringBoot 技术进行基本功能开发的能力;这最后的项目实战为课程的主要部分,我会带着大家实际的开发一个前后端分离的 Spring Boot 实践项目,让大家实际操作并从无到有开发一个线上项目,并学习到一定的开发经验以及其中的开发技巧,旨在让读者具有将 Spring Boot 真正应用于项目开发的能力; 以下为实践项目的页面和功能展示,分别为:登录页面 列表页面(分页功能) 图片上传功能 富文本编辑器整合使用 实践项目的主要功能和页面就是这些,通过项目展示大家也能够感受到,在实际应用开发中的高频次功能都已经实现,稍加修改就可以运用到企业开发中,整个项目的开发模式为前后端分离的模式,即 Spring Boot 提供后端接口,前端页面通过 Ajax 异步调用接口的方式与后端服务器进行交互并将数据填充至页面中,这也是目前企业开发中比较重用的开发模式,希望大家能够了解并且能够实际的上手开发。
当前课程中商城项目的实战源码是我发布在 GitHub 上的开源项目 newbee-mall (新蜂商城),目前已有 9900 多个 Star,本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 商城项目功能的讲解,让大家实际操作并实践上手一个大型的线上商城项目,并学习到一定的开发经验以及其中的开发技巧。商城项目所涉及的功能结构图整理如下: 作者寄语本课程录制于2019年,距今已有一段时间。期间,Spring Boot技术栈也有一些版本升级,比如Spring Boot 2.7.x发版、Spring Boot 3.x版本正式版本。对于这些情况,笔者会在本课程实战项目的开源仓库中创建不同的代码分支,保持实战项目的源码更新,保证读者朋友们不会学习过气的知识点。新蜂商城的优化和迭代工作不会停止,不仅仅是功能的优化,在技术栈上也会不断的增加,截止2023年,新蜂商城已经发布了 7 个重要的版本,版本记录及开发计划如下图所示。 课程特色 对新手开发者十分友好,无需复杂的操作步骤,仅需 2 秒就可以启动这个完整的商城项目最终的实战项目是一个企业级别的 Spring Boot 大型项目,对于各个阶段的 Java 开发者都是极佳的选择实践项目页面美观且实用,交互效果完美教程详细开发教程详细完整、文档资源齐全代码+讲解+演示网站全方位保证,向 Hello World 教程说拜拜技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,可以进一步提升你的市场竞争力 课程预览 以下为商城项目的页面和功能展示,分别为:商城首页 1商城首页 2购物车订单结算订单列表支付页面后台管理系统登录页商品管理商品编辑

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值