hibernate分页查询懒加载问题 20C

ssh项目,在hibernate分页查询时,先使用分页查询查询了一次,然后,又因为懒加载用每个对象的id到数据库中又查询了一次,这样如果一页有10条数据,那就会查询11次,这样实在太蠢了
图片说明
有没有什么办法关掉lazy,在class标签上的lazy属性不管用,我已经试过了,只是改变load的
开关而已,在dao使用的是this.getHibernateTemplate().findByCriteria(detachedCriteria)

2个回答

qq_25322409
qq_25322409 404了,手机页面吗
3 年多之前 回复

hibernate 为什么不用二级缓存

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
hibernate 分页查询,第一页查询和其他页查询结果列名不一致问题

前端表格用的是jqGrid,数据库是sqlserver的,然后在jqGrid点击下一页的时候查到的列和绑定的列不一致,经调试发现![图片说明](https://img-ask.csdn.net/upload/201804/28/1524894182_569152.png) ![图片说明](https://img-ask.csdn.net/upload/201804/28/1524894199_61528.png) hibernate的query查到list之后结果的列名不一致,导致第一页能加载出来数据,第二页加载不出来数据,请大神指点一下可能是哪里的问题

hibernate关于servlet转发并且有分页条件、模糊查询

![图片说明](https://img-ask.csdn.net/upload/201508/03/1438578361_507040.png) 功能需求: 进入该页面加载一个servlet导入展示所有房屋信息; 当进行搜索框搜索时,只显示相关信息; 所有信息都已分页;可以进去上一页,下一页跳转; 说明一下思路就行。

Spring Boot Jpa 多表关联查询问题

jpa单表分页查询很简单一个自带的findall方法就搞定。那么类似下面的多表关联分页查询该如何解决呢? SELECT t.id,t.co_name,e.experiment_code,e.experiment_name FROM tb_component t, tb_component_flow tf, tb_experiment_apply e WHERE t.id = tf.component_id AND tf.experiment_apply_id = e.id AND e.experiment_name LIKE '%实验%' _***跪求大佬们在线指点。**

hibernate detachedcriteria 问题

利用hibernate 的 detachedCriteira 查询时,是不是restrictions条件越多,查询速度越快????

ajax+hibeinate+spring+spring mvc 分页

我想知道怎么用ajax分页,每页10条,ajax写好之后,后台写什么方法去执行调用,我是新手,不懂这些,求大神帮帮忙 我用的是spring,springmvc+hibernate,三个框架,实在是不会了。 <script type="text/javascript"> $(function() { //此demo通过Ajax加载分页元素 var initPagination = function() { var num_entries = $("#hiddenresult").size(); // 创建分页 $("#Pagination").pagination(num_entries, { num_edge_entries: 1, //边缘页数 num_display_entries: 4, //主体页数 callback: pageselectCallback, items_per_page: 10, //每页显示1项 prev_text: "前一页", next_text: "后一页" }); function pageselectCallback(page_index, jq) { var new_content = $("#hiddenresult :eq("+page_index +")").clone(); $("#Searchresult").empty().append(new_content); //装载对应分页的内容 alert($("#hiddenresult :eq("+page_index +")")+"2"); return false; } }; //ajax加载 $("#hiddenresult").load("/news/user/all.htmls",null,initPagination); }); </script> 网上抄的ajax 后台查询所有数据 @SuppressWarnings({ "unchecked" }) @RequestMapping("/all") public @ResponseBody List<AcctNewscontext> ceshi(){ String hql="from AcctNewscontext"; Query query = this.getCurrentSession().createQuery(hql); System.out.println("这是所有"+query.list()); List<AcctNewscontext> q= query.list(); return q; 后台查询hibeinate分页查 @SuppressWarnings({ "unchecked" }) @RequestMapping(value="/listPage") public @ResponseBody List<AcctNewscontext> next(Integer page_index){ LOGGER.info("下一页"); String hql="from AcctNewscontext"; Query query = this.getCurrentSession().createQuery(hql); query.setFirstResult(page_index);//从第一条记录开始 query.setMaxResults(10);//取出10条记录 List<AcctNewscontext> q= query.list(); System.out.println("这是下一页"+q); return q; 后台limit 查询 @SuppressWarnings("rawtypes") @RequestMapping(value="/fenye") public String fenye(ModelMap map){ LOGGER.info("各种分页各种列表"); String hql="select * from newscontent limit 0,10"; Query query = this.getCurrentSession().createSQLQuery(hql); List list=query.list(); map.addAttribute("list", list); System.out.println("这是分页"+list); return "/user/listnews";

hibernate中的迷失

[b][i][size=xx-large]本人想了一个问题,请有经验的人解决一下。 部门和员工表 是典型的1对多的关系。现在我想如果我想查询一个部门里面的所有员工。我应该怎么去做呢。 由于hibernate的特性我可以在部门的dao里查询员工返回一个list,我也可以在员工的dao里查等于同一部门 所有人。用哪个会比较好呢,一般项目里会用哪个呢? 还有听说hibernate现在一般的公司不建立表之间的关系?这句话是真是假?(听说是为了项目降低难度)[/size][/i][/b] [b]问题补充:[/b] [color=olive][size=medium]是这样的我可能说的不太明白! 如果我要查询部门下所有员工,首先我要去查部门,然后在查所有的员工, 这样一来我的员工不是一下全被查出来了吗!我感觉会分页。因为hibernate的分页是用 criteria.setFirstResult((Integer)pageMap.get("first")); criteria.setMaxResults((Integer)pageMap.get("max")); 这么做的 ! 一下全查出来 还怎么用上面那两个方法了。[/size][/color] [b]问题补充:[/b] [color=gray][size=x-large]那您的意思是如果我要对员工进行分页的话。只能在员工的Dao里用hql方式进行查询了被?[/size][/color] [b]问题补充:[/b] 如果我要用懒加载。我把所有的数据全查出来。我的分页就只能在前台分了?是这样吗

spring data jpa findall 超级慢?

刚用 jpa,发现自定义的方法 findallByState(Pageable pageable)非常慢。这个方法只是根据 state 字段查询并分页,拿出来 sql 语句到 oracle 里只执行了 0.02s ,在 jpa 里竟然需要 2 分钟!!我是不是遗漏什么地方了?

gradle+spring boot+mybatis+PageHelper 分页无效

被折磨了一天,网上也找了很多解决办法,都不行,求助大神 如果PageHelper 降版本到4.0的话,PageInfo里的属性就全是空的, 直接用PageHelper.startPage(1, 2); 也没用。 ,不废话,直接上代码。 测试类: ``` @RunWith(SpringRunner.class) @SpringBootTest public class UserMappertest { @Autowired private UserMapper userMapper; @Test public void getAllByPage(){ Map<String,Object> map = new HashMap<String,Object>(); map.put("email", "a"); // map.put("id", "2"); PageHelper.startPage(1, 2,true);// 默认从第一页开始,每页五条 List<Map<String,Object>> users = userMapper.getAllByPage(map); PageInfo<Map<String,Object>> pageBlog = new PageInfo<Map<String,Object>>(users);// 将查出来的blogArticleList绑定到pageInfo中 System.out.println(">======page====>"+pageBlog.toString()); int a = 1; for(Map<String,Object> m:users) { System.out.println(">============users===a====>"+a); System.out.println(">============users===username====>"+m.get("username")); a++; } } } ``` 输出结果: ``` >======page====>PageInfo{pageNum=1, pageSize=7, size=7, startRow=0, endRow=6, total=7, pages=1, list=[{password=$76NoUnuTJ8iAtKIUi, name=qweq,id=1, avatar=//localhost:8081/view/5a9f9509c99a7138a8ea306c, email=i@om, username=admin}, {password=$2a$IUi, name=Wu, id=2, avatar=//localhost:8081/view/5a9f962ec99a7138a8ea306d, email=wa@wa.com, username=wau}, {password=$2a$1O7s3Jo4XW, name=是释放, id=3, avatar=//localhost:8081/view/5a9f9684c99a7138a8ea306e, email=12321@sfa.cn, username=wjy0703}, {password=123456, name=fs士大夫撒, id=4, avatar=//localhost:8081/view/5aa777c3c99a715b60793591, email=safdaf@ssfdsa.com, username=wjy}, {password=$2EXdOSDS, name=发大好时光, id=6, avatar=//localhost:8081/view/5aa77a8cc99a715b60793592, email=123212@sfa.cn, username=wjiyu}, {password=123456, name=搭顺风很舒服, id=7, email=safdafaaa@ssfdsa.com, username=qwe123}, {password=$2QB6cdbsAySst80C9FS, name=safddasfa, id=9, email=fas2f@sfa.com, username=abc123}], prePage=0, nextPage=0, isFirstPage=true, isLastPage=true, hasPreviousPage=false, hasNextPage=false, navigatePages=8, navigateFirstPage=1, navigateLastPage=1, navigatepageNums=[1]} >============users===a====>1 >============users===username====>admin >============users===a====>2 >============users===username====>waylau >============users===a====>3 >============users===username====>wjy0703 >============users===a====>4 >============users===username====>wjy >============users===a====>5 >============users===username====>wayu >============users===a====>6 >============users===username====>qwe123 >============users===a====>7 >============users===username====>abc123 ``` gradle配置 springBootVersion = '1.5.2.RELEASE': ``` // 添加 MySQL连接驱动 的依赖 compile('mysql:mysql-connector-java:6.0.5') // 添加 Apache Commons Lang 依赖 compile('org.apache.commons:commons-lang3:3.5') //mybatis依赖 compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.0') //pagehelper依赖 compile('com.github.pagehelper:pagehelper:5.1.2') ``` mybatis-config.xml 配置: 下面使用"com.github.pagehelper.PageHelper"也不行,都不报错,也不能分页。 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <typeAlias alias="Integer" type="java.lang.Integer" /> <typeAlias alias="Long" type="java.lang.Long" /> <typeAlias alias="HashMap" type="java.util.HashMap" /> <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" /> <typeAlias alias="ArrayList" type="java.util.ArrayList" /> <typeAlias alias="LinkedList" type="java.util.LinkedList" /> </typeAliases> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> </plugin> </plugins> </configuration> ``` application.properties 配置: ``` #Thymeleaf spring.thymeleaf.encoding=UTF-8 #热部署静态文件 spring.thymeleaf.cache=false #使用HTML5标准 spring.thymeleaf.mode=HTML5 #DataSource spring.datasource.url=jdbc:mysql://localhost/boot?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8 spring.datasource.username=boot spring.datasource.password=boot spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # mybatis配置 mybatis.config-location=classpath:mybatis-config.xml // 配置文件位置 mybatis.typeAliasesPackage=com.educate.domain mybatis.mapper-locations=classpath:com/educate/mapper/**/*.xml mybatis.config-locations=classpath:mybatis/mybatis-config.xml #pagehelper分页插件配置 pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true #JPA spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update ``` UserMapper.xml 配置: ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.educate.mapper.user.UserMapper" > <sql id="Base_Column_List" > id,name, username, password, email,avatar </sql> <sql id="Base_Column_Where" > where 1=1 <if test="id != null"> and id=#{id}</if> <if test="name != null"> and name like '%${name}%'</if> <if test="email != null"> and email like '%${email}%'</if> </sql> <select id="getAll" resultType="java.util.HashMap" parameterType="java.util.HashMap"> SELECT <include refid="Base_Column_List" /> FROM user <include refid="Base_Column_Where" /> </select> <select id="getAllByPage" resultType="java.util.HashMap"> SELECT <include refid="Base_Column_List" /> FROM user <include refid="Base_Column_Where" /> </select> </mapper> ``` UserMapper 代码: ``` @Mapper public interface UserMapper { List<Map<String,Object>> getAll(Map<String,Object> map); List<Map<String,Object>> getAllByPage(Map<String,Object> page); } ```

ajax+eclipse+jsp页面后台是java

我想知道怎么用ajax分页,每页10条,ajax写好之后,后台写什么方法去执行调用,我是新手,不懂这些,求大神帮帮忙 我用的是spring,springmvc+hibernate,三个框架,实在是不会了。 ``` <script type="text/javascript"> $(function() { //此demo通过Ajax加载分页元素 var initPagination = function() { var num_entries = $("#hiddenresult").size(); // 创建分页 $("#Pagination").pagination(num_entries, { num_edge_entries: 1, //边缘页数 num_display_entries: 4, //主体页数 callback: pageselectCallback, items_per_page: 10, //每页显示1项 prev_text: "前一页", next_text: "后一页" }); function pageselectCallback(page_index, jq) { var new_content = $("#hiddenresult :eq("+page_index +")").clone(); $("#Searchresult").empty().append(new_content); //装载对应分页的内容 alert($("#hiddenresult :eq("+page_index +")")+"2"); return false; } }; //ajax加载 $("#hiddenresult").load("/news/user/all.htmls",null,initPagination); }); </script> 网上抄的ajax 后台查询所有数据 @SuppressWarnings({ "unchecked" }) @RequestMapping("/all") public @ResponseBody List<AcctNewscontext> ceshi(){ String hql="from AcctNewscontext"; Query query = this.getCurrentSession().createQuery(hql); System.out.println("这是所有"+query.list()); List<AcctNewscontext> q= query.list(); return q; 后台查询hibeinate分页查 @SuppressWarnings({ "unchecked" }) @RequestMapping(value="/listPage") public @ResponseBody List<AcctNewscontext> next(Integer page_index){ LOGGER.info("下一页"); String hql="from AcctNewscontext"; Query query = this.getCurrentSession().createQuery(hql); query.setFirstResult(page_index);//从第一条记录开始 query.setMaxResults(10);//取出10条记录 List<AcctNewscontext> q= query.list(); System.out.println("这是下一页"+q); return q; 后台limit 查询 @SuppressWarnings("rawtypes") @RequestMapping(value="/fenye") public String fenye(ModelMap map){ LOGGER.info("各种分页各种列表"); String hql="select * from newscontent limit 0,10"; Query query = this.getCurrentSession().createSQLQuery(hql); List list=query.list(); map.addAttribute("list", list); System.out.println("这是分页"+list); return "/user/listnews"; ```

关于spring boot redis存取问题,求大神帮忙!!

![图片说明](https://img-ask.csdn.net/upload/201712/05/1512460707_782764.png) 当直接访问这个controller的时候redis存取无问题。 ![图片说明](https://img-ask.csdn.net/upload/201712/05/1512460736_786580.png) 当调用这个方法访问的时候则会报空指针。 ![图片说明](https://img-ask.csdn.net/upload/201712/05/1512460761_324967.png) 是不是这个方法中需要加上什么注解,我理解是调用这个方法没有实例化redis的一些配置所以导致空指针,但是不知道需要加上什么注解来自动加载

easyUI datagrid赋值问题

因为前面是查询全部 没问题 但是现在加了时间条件查询 我只要查询数据库没有的空记录后 我再查数据库有的 或者全部的记录后台都可以查出来 但是datagrid不会显示 并且后台 还会报错 数组越界 我后台是用的List集合传的值,后台代码: public List<Gasorder2> Query(String queryTime) { String hql = ""; List<Gasorder2> list = new ArrayList<Gasorder2>(); if(queryTime.equals("")||queryTime==null){ hql="from Gasorder2"; }else{ hql="from Gasorder2 where buyGasTime like '%"+queryTime+"%'"; } try { Query query = session.createQuery(hql); list = query.list(); } catch (Exception e) { e.printStackTrace(); }finally{ session.close(); } return list; } datagrid数据: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> <%@ page import="Model.Gasorder2" %> <%@ page import="dao.select" %> <%@ page import="idao.iselect" %> <% String queryTime= request.getParameter("data").trim(); System.out.println("queryTime:"+queryTime); //List<Object[]> list = new ArrayList<Object[]>(); List<Gasorder2> list = new ArrayList<Gasorder2>(); iselect dao = new select(); list = dao.Query(queryTime); //获取客户端传递的分页参数 Integer pageSize = Integer.parseInt(request.getParameter("rows")); //默认参数rows表示每页显示记录数 Integer pageNumber = Integer.parseInt(request.getParameter("page")); //默认参数page表示当前页数 StringBuilder builder = new StringBuilder("{\"total\":"+list.size()+",\"rows\":["); //计算分页开始记录数 int start = (pageNumber-1)*pageSize; //计算分页结束记录数 int end = start+pageSize; //根据分页起始参数构建当前页的列表数据 for(int i=start;i<end && i<list.size();i++){ System.out.println("数组大小:"+list.size()); Gasorder2 gn = list.get(i); //System.out.println(gn.getBuyerAddress()+"~~~~~~"+i); String buyGasStatus = ""; if(gn.getStatus().equals(11)){ buyGasStatus = "写卡成功"; }else{ buyGasStatus = gn.getStatus().toString(); } builder.append("{\"terminalName\":\""+gn.getTerminalName() +"\",\"terminalId\":\""+gn.getTerminalId() +"\",\"buyGasVolume\":\""+gn.getBuyGasVolume() +"\",\"buyGasMoney\":\""+gn.getBuyGasMoney() +"\",\"buyGasTime\":\""+gn.getBuyGasTime() +"\",\"takePayMsg\":\""+gn.getTakePayMsg() +"\",\"buyerAddress\":\""+gn.getBuyerAddress() +"\",\"buyerName\":\""+gn.getBuyerName() +"\",\"priceName\":\""+gn.getPriceName() +"\",\"status\":\""+buyGasStatus +"\",\"userCode\":\""+gn.getUserCode() +"\",\"watchManufacturer\":\""+gn.getWatchManufacturer() +"\",\"flowId\":\""+gn.getFlowId() +"\"},"); } list.clear(); String gridJSON = builder.toString(); if(gridJSON.endsWith(",")){ gridJSON = gridJSON.substring(0,gridJSON.lastIndexOf(",")); } out.print(gridJSON.toString()+"]}"); System.out.println(gridJSON.toString()+"]}"); %>

memory leak我的 jdbc 被强制注销

memory leak我的 jdbc 被强制注销, 我前几天还好好的,今天发现能够连到数据库oracle,但是新的程序无法在数据库中呈现出来,并且原来的表也没有了 The web application [UsersManager2] registered the JDBC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. ## **这个是我的登录Servlet** package com.wzy.view; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); //response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); //返回一个界面(html技术) out.println("<img src='imgs/1.png'/><hr/>"); out.println("<h1>用户登录</h1>"); //action 应该这样写/web应用名/Servlet的url out.println("<form action='/UsersManager2/LoginCLServlet ' method='post'>"); out.println("用户名:<input type='text' name='id'/><br/>"); out.println("密码:<input type='password' name='password'/><br/>"); out.println("<input type='submit' value='登录'/><br/>"); out.println("</form>"); String errInfo=(String) request.getAttribute("err"); if(errInfo!=null){ out.println("<font color='red'>"+errInfo+"</font>"); } out.println("<hr/><img src='imgs/2.png'/>"); } ## ** 这是登录处理转向Servlet** package com.wzy.controller; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginCLServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //向浏览器返回中文 request.setCharacterEncoding("utf-8"); //向控制台返回中文 在这里没什么用 //response.setContentType("text/html;charset=utf-8"); //PrintWriter out = response.getWriter(); //接收用户提交的用户名和密码 String id=request.getParameter("id"); String password=request.getParameter("password"); //到数据库中取验证 Connection ct = null; ResultSet rs= null; PreparedStatement ps=null; try { //1.加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //2.得到连接 ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORACLE","c##scott","tiger"); //3.创建PreparedStatement ps=ct.prepareStatement("select * from users where id=? and passwd=?"); //给?赋值 ps.setObject(1,id); ps.setObject(2, password); //4.执行操作 rs=ps.executeQuery(); //5.根据结果做处理 if(rs.next()){ //说明该用户合法 request.getRequestDispatcher("/MainFrame").forward(request,response); }else{ request.setAttribute("err", "用户id或者 密码有误!"); request.getRequestDispatcher("/LoginServlet").forward(request,response); } }catch (Exception e){ request.setAttribute("err", "您的输入id不是数字!"); request.getRequestDispatcher("/LoginServlet").forward(request,response); e.printStackTrace(); } finally{ //关闭资源 if(rs!=null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } rs=null; } if(ps!=null ){ try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } ps=null; } if(ct!=null){ try { ct.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } ct=null; } } ## 这是调转后第一个统筹页面**** package com.wzy.view; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MainFrame extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<img src='imgs/1.png'/>测试登录servlet页面</a> <a href='/UsersManager2/LoginServlet'>返回重新登录</a><hr/>"); //out.println("<h1>测试登录</h1>"); out.println("<h3>请选择您要进行的操作</h3>"); out.println("<a href='/UsersManager2/ManageUsers'>管理用户</a><br/>"); out.println("<a herf=''>添加用户</a><br/>"); out.println("<a herf=''>查找用户</a><br/>"); out.println("<a herf=''>退出系统</a><br/>"); out.println("<hr/><img src='imgs/2.png'/>"); } ## 接下来点进去会看到一张绿色的表10条信息我之前一直好好的**** 这个是我用jdbc连接oracle 看表的地方现在被强制注销, 我明明打了finally 然后close了,可是 却说我的项目在web application停止后没有被释放,所以为了防止内存泄露要强行关闭jdbc驱动,导致我现在 无法用jdbc 来更新内容,想问一下究竟是怎么回事 , 还望高手指点 下面的程序只能显示到“管理用户”这一行 最下面的数字也能打印但是 jdbc的链接这里被停止了,我现在不明白的是导致我连不上的原因是哪里没被释放,还是要再注册一下呢? package com.wzy.view; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ManageUsers extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<img src='imgs/1.png'/>测试登录servlet页面</a> <a href='/UsersManager2/LoginServlet'>返回主界面</a> <a href='/UsersManager2/LoginServlet'>安全退出</a><hr/>"); out.println("<h1>管理用户</h1>"); //从数据库中取出用户信息,并显示 //到数据库中去验证 Connection ct=null; ResultSet rs=null; PreparedStatement ps=null; try{ //1.加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //2.得到连接 ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORACLE","c##scott","tiger"); //算出共有多少页 rs=ps.executeQuery(); //1.查询rowCount rs.next(); //把游标下移 //4.执行操作 rs=ps.executeQuery(); out.println("<table border=1px bordercolor=green cellspacing=0 width=500px>"); out.println("<tr><th>id</th><th>用户名</th><th>email</th><th>级别</th></tr>"); //循环显示所有用户信息 while(rs.next()){ out.println("<tr><td>"+rs.getInt(1)+ "</td><td>"+rs.getString(2)+ "</td><td>"+rs.getString(3)+ "</td><td>"+rs.getInt(4)+ "</td></tr>"); } out.println("</table>"); //显示分页 }catch(Exception e){ }finally{ //关闭资源 if(rs!=null){ try{ rs.close(); }catch(SQLException e){ e.printStackTrace(); } } rs=null; } if(ps!=null){ try{ ps.close(); }catch (SQLException e){ e.printStackTrace(); } ps=null; } if(ct!=null){ try{ ct.close(); }catch(SQLException e){ e.printStackTrace(); } ct=null; } out.println("1324234"); } 望大神指教,网上有用dbcp 重新写个close和改变 dbcp的配置来解决的,可我是新手还不懂hibernate 也有到server.xml里去关掉memory leak的监听,我试了,不行,我现在的情况是能够连到数据库oracle,但是原先的表无法显示和新写的代码无法传递进去,发生了宕机。还望各路高手救命

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

ArrayList源码分析(入门篇)

ArrayList源码分析 前言: 写这篇博客的主要原因是,在我上一次参加千牵科技Java实习生面试时,有被面试官问到ArrayList为什么查找的速度较快,插入和删除的速度较慢?当时我回答得不好,很大的一部分原因是因为我没有阅读过ArrayList源码,虽然最后收到Offer了,但我拒绝了,打算寒假学得再深入些再广泛些,下学期开学后再去投递其他更好的公司。为了更加深入理解ArrayList,也为

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

玩转springboot启动banner定义所得

最近接手了一个springboot项目,不是不熟悉这个框架,启动时打印的信息吸引了我。 这不是我熟悉的常用springboot的打印信息啊,我打开自己的项目: 还真是的,不用默认的感觉也挺高大上的。一时兴起,就去研究了一下源代码,还正是有些收获,稍后我会总结一下。正常情况下做为一个老程序员,是不会对这种小儿科感兴趣的,不就是一个控制台打印嘛。哈哈! 于是出于最初的好奇,研究了项目的源代码。看到

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

爬虫(九十七)不爬妹子图的爬虫不是一只好爬虫

不爬妹子图的爬虫不是一只好爬虫。----鲁迅还是一样,我们在爬取妹子图片的时候,首先要分析一下 DOM这里的img是就封面,如果只抓取封面的话,到这就可以了,但是我们取的是所有图片,所...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

立即提问
相关内容推荐