一、查询种类

1.oid查询-get

2.对象属性导航查询

3.HQL

4.Criteria

5.原生SQL

二、查询-HQL语法

  1. //学习HQL语法
  2. public class Demo {
  3.  
  4. //基本语法
  5. @Test
  6. public void fun1(){
  7. Session session = HibernateUtils.openSession();
  8. Transaction tx = session.beginTransaction();
  9. //----------------------------------------------------
  10. String hql = " from cn.itcast.domain.Customer ";//完整写法
  11. String hql2 = " from Customer "; //简单写法
  12. String hql3 = " from java.lang.Object ";
  13.  
  14. Query query = session.createQuery(hql3);
  15.  
  16. List list = query.list();
  17.  
  18. System.out.println(list);
  19. //----------------------------------------------------
  20. tx.commit();
  21. session.close();
  22.  
  23. }
  24.  
  25. @Test
  26. //排序
  27. public void fun2(){
  28. Session session = HibernateUtils.openSession();
  29. Transaction tx = session.beginTransaction();
  30. //----------------------------------------------------
  31. String hql1 = " from cn.itcast.domain.Customer order by cust_id asc ";//完整写法
  32. String hql2 = " from cn.itcast.domain.Customer order by cust_id desc ";//完整写法
  33.  
  34. Query query = session.createQuery(hql2);
  35.  
  36. List list = query.list();
  37.  
  38. System.out.println(list);
  39. //----------------------------------------------------
  40. tx.commit();
  41. session.close();
  42.  
  43. }
  44.  
  45. @Test
  46. //条件查询
  47. public void fun3(){
  48. Session session = HibernateUtils.openSession();
  49. Transaction tx = session.beginTransaction();
  50. //----------------------------------------------------
  51. String hql1 = " from cn.itcast.domain.Customer where cust_id =? ";//完整写法
  52. String hql2 = " from cn.itcast.domain.Customer where cust_id = :id ";//完整写法
  53.  
  54. Query query = session.createQuery(hql2);
  55.  
  56. // query.setParameter(0, 2l);
  57. query.setParameter("id", 2l);
  58.  
  59. List list = query.list();
  60.  
  61. System.out.println(list);
  62. //----------------------------------------------------
  63. tx.commit();
  64. session.close();
  65.  
  66. }
  67.  
  68. @Test
  69. //分页查询
  70. public void fun4(){
  71. Session session = HibernateUtils.openSession();
  72. Transaction tx = session.beginTransaction();
  73. //----------------------------------------------------
  74. String hql1 = " from cn.itcast.domain.Customer ";//完整写法
  75.  
  76. Query query = session.createQuery(hql1);
  77.  
  78. //limit ?,?
  79. // (当前页数-1)*每页条数
  80. query.setFirstResult(2);
  81. query.setMaxResults(2);
  82.  
  83. List list = query.list();
  84.  
  85. System.out.println(list);
  86. //----------------------------------------------------
  87. tx.commit();
  88. session.close();
  89.  
  90. }
  91.  
  92. @Test
  93. //统计查询
  94. //count 计数
  95. //sum 求和
  96. //avg 平均数
  97. //max
  98. //min
  99. public void fun5(){
  100. Session session = HibernateUtils.openSession();
  101. Transaction tx = session.beginTransaction();
  102. //----------------------------------------------------
  103. String hql1 = " select count(*) from cn.itcast.domain.Customer ";//完整写法
  104. String hql2 = " select sum(cust_id) from cn.itcast.domain.Customer ";//完整写法
  105. String hql3 = " select avg(cust_id) from cn.itcast.domain.Customer ";//完整写法
  106. String hql4 = " select max(cust_id) from cn.itcast.domain.Customer ";//完整写法
  107. String hql5 = " select min(cust_id) from cn.itcast.domain.Customer ";//完整写法
  108.  
  109. Query query = session.createQuery(hql5);
  110.  
  111. Number number = (Number) query.uniqueResult();
  112.  
  113. System.out.println(number);
  114. //----------------------------------------------------
  115. tx.commit();
  116. session.close();
  117.  
  118. }
  119.  
  120. @Test
  121. //投影查询
  122. public void fun6(){
  123. Session session = HibernateUtils.openSession();
  124. Transaction tx = session.beginTransaction();
  125. //----------------------------------------------------
  126. String hql1 = " select cust_name from cn.itcast.domain.Customer ";
  127. String hql2 = " select cust_name,cust_id from cn.itcast.domain.Customer ";
  128. String hql3 = " select new Customer(cust_id,cust_name) from cn.itcast.domain.Customer ";
  129.  
  130. Query query = session.createQuery(hql3);
  131.  
  132. List list = query.list();
  133.  
  134. System.out.println(list);
  135.  
  136. //----------------------------------------------------
  137. tx.commit();
  138. session.close();
  139.  
  140. }
  141. }

学习HQL语法

  1. public class Demo2 {
  2. //回顾-原生SQL
  3. // 交叉连接-笛卡尔积(避免)
  4. // select * from A,B
  5. // 内连接
  6. // |-隐式内连接
  7. // select * from A,B where b.aid = a.id
  8. // |-显式内连接
  9. // select * from A inner join B on b.aid = a.id
  10. // 外连接
  11. // |- 左外
  12. // select * from A left [outer] join B on b.aid = a.id
  13. // |- 右外
  14. // select * from A right [outer] join B on b.aid = a.id
  15. //---------------------------------------------------------------------
  16. //HQL的多表查询
  17. //内连接(迫切)
  18. //外连接
  19. // |-左外(迫切)
  20. // |-右外(迫切)
  21.  
  22. @Test
  23. //HQL 内连接 => 将连接的两端对象分别返回.放到数组中.
  24. public void fun1(){
  25. Session session = HibernateUtils.openSession();
  26. Transaction tx = session.beginTransaction();
  27. //----------------------------------------------------
  28. String hql = " from Customer c inner join c.linkMens ";
  29.  
  30. Query query = session.createQuery(hql);
  31.  
  32. List<Object[]> list = query.list();
  33.  
  34. for(Object[] arr : list){
  35. System.out.println(Arrays.toString(arr));
  36. }
  37. //----------------------------------------------------
  38. tx.commit();
  39. session.close();
  40.  
  41. }
  42.  
  43. @Test
  44. //HQL 迫切内连接 => 帮我们进行封装.返回值就是一个对象
  45. public void fun2(){
  46. Session session = HibernateUtils.openSession();
  47. Transaction tx = session.beginTransaction();
  48. //----------------------------------------------------
  49. String hql = " from Customer c inner join fetch c.linkMens ";
  50.  
  51. Query query = session.createQuery(hql);
  52.  
  53. List<Customer> list = query.list();
  54.  
  55. System.out.println(list);
  56. //----------------------------------------------------
  57. tx.commit();
  58. session.close();
  59.  
  60. }
  61.  
  62. @Test
  63. //HQL 左外连接 => 将连接的两端对象分别返回.放到数组中.
  64. public void fun3(){
  65. Session session = HibernateUtils.openSession();
  66. Transaction tx = session.beginTransaction();
  67. //----------------------------------------------------
  68. String hql = " from Customer c left join c.linkMens ";
  69.  
  70. Query query = session.createQuery(hql);
  71.  
  72. List<Object[]> list = query.list();
  73.  
  74. for(Object[] arr : list){
  75. System.out.println(Arrays.toString(arr));
  76. }
  77. //----------------------------------------------------
  78. tx.commit();
  79. session.close();
  80.  
  81. }
  82. @Test
  83. //HQL 右外连接 => 将连接的两端对象分别返回.放到数组中.
  84. public void fun4(){
  85. Session session = HibernateUtils.openSession();
  86. Transaction tx = session.beginTransaction();
  87. //----------------------------------------------------
  88. String hql = " from Customer c right join c.linkMens ";
  89.  
  90. Query query = session.createQuery(hql);
  91.  
  92. List<Object[]> list = query.list();
  93.  
  94. for(Object[] arr : list){
  95. System.out.println(Arrays.toString(arr));
  96. }
  97. //----------------------------------------------------
  98. tx.commit();
  99. session.close();
  100.  
  101. }
  102.  
  103. }

学习HQL语法(不常用) - 多表查询语法

三、查询-Criteria语法

  1. public class Demo {
  2.  
  3. @Test
  4. //基本语法
  5. public void fun1(){
  6. Session session = HibernateUtils.openSession();
  7. Transaction tx = session.beginTransaction();
  8. //----------------------------------------------------
  9.  
  10. Criteria c = session.createCriteria(Customer.class);
  11.  
  12. List<Customer> list = c.list();
  13.  
  14. System.out.println(list);
  15.  
  16. //----------------------------------------------------
  17. tx.commit();
  18. session.close();
  19.  
  20. }
  21.  
  22. @Test
  23. //条件语法
  24. public void fun2(){
  25. Session session = HibernateUtils.openSession();
  26. Transaction tx = session.beginTransaction();
  27. //----------------------------------------------------
  28.  
  29. Criteria c = session.createCriteria(Customer.class);
  30.  
  31. // c.add(Restrictions.idEq(2l));
  32. c.add(Restrictions.eq("cust_id",2l));
  33.  
  34. List<Customer> list = c.list();
  35.  
  36. System.out.println(list);
  37.  
  38. //----------------------------------------------------
  39. tx.commit();
  40. session.close();
  41.  
  42. }
  43.  
  44. @Test
  45. //分页语法 - 与HQL一样
  46. public void fun3(){
  47. Session session = HibernateUtils.openSession();
  48. Transaction tx = session.beginTransaction();
  49. //----------------------------------------------------
  50.  
  51. Criteria c = session.createCriteria(Customer.class);
  52. //limit ?,?
  53. c.setFirstResult(0);
  54. c.setMaxResults(2);
  55.  
  56. List<Customer> list = c.list();
  57.  
  58. System.out.println(list);
  59.  
  60. //----------------------------------------------------
  61. tx.commit();
  62. session.close();
  63.  
  64. }
  65.  
  66. @Test
  67. //排序语法
  68. public void fun4(){
  69. Session session = HibernateUtils.openSession();
  70. Transaction tx = session.beginTransaction();
  71. //----------------------------------------------------
  72.  
  73. Criteria c = session.createCriteria(Customer.class);
  74.  
  75. c.addOrder(Order.asc("cust_id"));
  76. //c.addOrder(Order.desc("cust_id"));
  77.  
  78. List<Customer> list = c.list();
  79.  
  80. System.out.println(list);
  81.  
  82. //----------------------------------------------------
  83. tx.commit();
  84. session.close();
  85.  
  86. }
  87.  
  88. @Test
  89. //统计语法
  90. public void fun5(){
  91. Session session = HibernateUtils.openSession();
  92. Transaction tx = session.beginTransaction();
  93. //----------------------------------------------------
  94.  
  95. Criteria c = session.createCriteria(Customer.class);
  96.  
  97. //设置查询目标
  98. c.setProjection(Projections.rowCount());
  99.  
  100. List list = c.list();
  101.  
  102. System.out.println(list);
  103.  
  104. //----------------------------------------------------
  105. tx.commit();
  106. session.close();
  107.  
  108. }
  109.  
  110. }

学习Criteria语法

  非离线

  

  离线

  

  1. public class Demo2 {
  2.  
  3. @Test
  4. public void fun1(){
  5. //Service/web层
  6. DetachedCriteria dc = DetachedCriteria.forClass(Customer.class);
  7.  
  8. dc.add(Restrictions.idEq(6l));//拼装条件(全部与普通Criteria一致)
  9.  
  10. //----------------------------------------------------
  11. Session session = HibernateUtils.openSession();
  12. Transaction tx = session.beginTransaction();
  13. //----------------------------------------------------
  14. Criteria c = dc.getExecutableCriteria(session);
  15.  
  16. List list = c.list();
  17.  
  18. System.out.println(list);
  19. //----------------------------------------------------
  20. tx.commit();
  21. session.close();
  22.  
  23. }
  24.  
  25. }

学习离线Criteria

四、查询优化

  类级别查询

    get方法:没有任何策略.调用即立即查询数据库加载数据.

    load方法: 应用类级别的加载策略

  1. public class Demo {
  2.  
  3. @Test
  4. // get方法 : 立即加载.执行方法时立即发送sql语句查询结果
  5. public void fun1(){
  6. Session session = HibernateUtils.openSession();
  7. Transaction tx = session.beginTransaction();
  8. //----------------------------------------------------
  9.  
  10. Customer c = session.get(Customer.class, 2l);
  11.  
  12. System.out.println(c);
  13. //----------------------------------------------------
  14. tx.commit();
  15. session.close();
  16.  
  17. }
  18.  
  19. @Test
  20. // load方法(默认):是在执行时,不发送任何sql语句.返回一个对象.使用该对象时,才执行查询.
  21. // 延迟加载: 仅仅获得没有使用.不会查询.在使用时才进行查询.
  22. // 是否对类进行延迟加载: 可以通过在class元素上配置lazy属性来控制.
  23. //lazy:true 加载时,不查询.使用时才查询b
  24. //lazy:false 加载时立即查询.
  25. public void fun2(){
  26. Session session = HibernateUtils.openSession();
  27. Transaction tx = session.beginTransaction();
  28. //----------------------------------------------------
  29.  
  30. Customer c = session.load(Customer.class, 2l);
  31.  
  32. //----------------------------------------------------
  33. tx.commit();
  34. session.close();
  35. System.out.println(c);
  36.  
  37. }
  38.  
  39. }

懒加载|延迟加载

  1. public class Demo {
  2.  
  3. //集合级别的关联
  4. //fetch:select 单表查询
  5. //lazy:true 使用时才加载集合数据.
  6. @Test
  7. public void fun1(){
  8. Session session = HibernateUtils.openSession();
  9. Transaction tx = session.beginTransaction();
  10. //----------------------------------------------------
  11.  
  12. Customer c = session.get(Customer.class, 2l);
  13.  
  14. Set<LinkMan> linkMens = c.getLinkMens();//关联级别
  15.  
  16. System.out.println(linkMens);
  17.  
  18. //----------------------------------------------------
  19. tx.commit();
  20. session.close();
  21.  
  22. }
  23.  
  24. //集合级别的关联
  25. //fetch:select 单表查询
  26. //lazy:false 立即记载集合数据
  27. @Test
  28. public void fun2(){
  29. Session session = HibernateUtils.openSession();
  30. Transaction tx = session.beginTransaction();
  31. //----------------------------------------------------
  32.  
  33. Customer c = session.get(Customer.class, 2l);
  34.  
  35. Set<LinkMan> linkMens = c.getLinkMens();//关联级别
  36.  
  37. System.out.println(linkMens);
  38.  
  39. //----------------------------------------------------
  40. tx.commit();
  41. session.close();
  42.  
  43. }
  44. //集合级别的关联
  45. //fetch:select 单表查询
  46. //lazy:extra 极其懒惰.与懒加载效果基本一致. 如果只获得集合的size.只查询集合的size(count语句)
  47. @Test
  48. public void fun3(){
  49. Session session = HibernateUtils.openSession();
  50. Transaction tx = session.beginTransaction();
  51. //----------------------------------------------------
  52.  
  53. Customer c = session.get(Customer.class, 2l);
  54.  
  55. Set<LinkMan> linkMens = c.getLinkMens();//关联级别
  56.  
  57. System.out.println(linkMens.size());
  58.  
  59. System.out.println(linkMens);
  60.  
  61. //----------------------------------------------------
  62. tx.commit();
  63. session.close();
  64.  
  65. }
  66. //集合级别的关联
  67. //fetch:join 多表查询
  68. //lazy:true|false|extra 失效.立即加载.
  69. @Test
  70. public void fun4(){
  71. Session session = HibernateUtils.openSession();
  72. Transaction tx = session.beginTransaction();
  73. //----------------------------------------------------
  74.  
  75. Customer c = session.get(Customer.class, 2l);
  76.  
  77. Set<LinkMan> linkMens = c.getLinkMens();//关联级别
  78.  
  79. System.out.println(linkMens.size());
  80.  
  81. System.out.println(linkMens);
  82.  
  83. //----------------------------------------------------
  84. tx.commit();
  85. session.close();
  86.  
  87. }
  88.  
  89. @Test
  90. //fetch: subselect 子查询
  91. //lazy: true 懒加载
  92. public void fun5(){
  93. Session session = HibernateUtils.openSession();
  94. Transaction tx = session.beginTransaction();
  95. //----------------------------------------------------
  96.  
  97. String hql = "from Customer";
  98.  
  99. Query query = session.createQuery(hql);
  100.  
  101. List<Customer> list = query.list();
  102.  
  103. for(Customer c:list){
  104. System.out.println(c);
  105. System.out.println(c.getLinkMens().size());
  106. System.out.println(c.getLinkMens());
  107. }
  108.  
  109. //----------------------------------------------------
  110. tx.commit();
  111. session.close();
  112.  
  113. }
  114. @Test
  115. //fetch: subselect 子查询
  116. //lazy: false 立即加载
  117. public void fun6(){
  118. Session session = HibernateUtils.openSession();
  119. Transaction tx = session.beginTransaction();
  120. //----------------------------------------------------
  121.  
  122. String hql = "from Customer";
  123.  
  124. Query query = session.createQuery(hql);
  125.  
  126. List<Customer> list = query.list();
  127.  
  128. for(Customer c:list){
  129. System.out.println(c);
  130. System.out.println(c.getLinkMens().size());
  131. System.out.println(c.getLinkMens());
  132. }
  133.  
  134. //----------------------------------------------------
  135. tx.commit();
  136. session.close();
  137.  
  138. }
  139. @Test
  140. //fetch: subselect 子查询
  141. //lazy: extra 极其懒惰
  142. public void fun7(){
  143. Session session = HibernateUtils.openSession();
  144. Transaction tx = session.beginTransaction();
  145. //----------------------------------------------------
  146.  
  147. String hql = "from Customer";
  148.  
  149. Query query = session.createQuery(hql);
  150.  
  151. List<Customer> list = query.list();
  152.  
  153. for(Customer c:list){
  154. System.out.println(c);
  155. System.out.println(c.getLinkMens().size());
  156. System.out.println(c.getLinkMens());
  157. }
  158.  
  159. //----------------------------------------------------
  160. tx.commit();
  161. session.close();
  162.  
  163. }
  164.  
  165. }

关联级别 延迟加载 & 抓取策略(客户再获取多个联系人)

  1. public class Demo2 {
  2.  
  3. @Test
  4. //fetch:select 单表查询
  5. //lazy:proxy
  6. //customer-true 懒加载
  7. public void fun1(){
  8. Session session = HibernateUtils.openSession();
  9. Transaction tx = session.beginTransaction();
  10. //----------------------------------------------------
  11.  
  12. LinkMan lm = session.get(LinkMan.class, 3l);
  13.  
  14. Customer customer = lm.getCustomer();
  15.  
  16. System.out.println(customer);
  17.  
  18. //----------------------------------------------------
  19. tx.commit();
  20. session.close();
  21.  
  22. }
  23. @Test
  24. //fetch:join 多表
  25. //lazy: 失效
  26. public void fun3(){
  27. Session session = HibernateUtils.openSession();
  28. Transaction tx = session.beginTransaction();
  29. //----------------------------------------------------
  30.  
  31. LinkMan lm = session.get(LinkMan.class, 3l);
  32.  
  33. Customer customer = lm.getCustomer();
  34.  
  35. System.out.println(customer);
  36.  
  37. //----------------------------------------------------
  38. tx.commit();
  39. session.close();
  40.  
  41. }
  42. @Test
  43. //fetch:select 单表查询
  44. //lazy:proxy
  45. //customer-false 立即加载
  46. public void fun2(){
  47. Session session = HibernateUtils.openSession();
  48. Transaction tx = session.beginTransaction();
  49. //----------------------------------------------------
  50.  
  51. LinkMan lm = session.get(LinkMan.class, 3l);
  52.  
  53. Customer customer = lm.getCustomer();
  54.  
  55. System.out.println(customer);
  56.  
  57. //----------------------------------------------------
  58. tx.commit();
  59. session.close();
  60.  
  61. }
  62. }

关联级别 延迟加载 & 抓取策略(通过联系人获得客户)

  结论:为了提高效率.fetch的选择上应选择select. lazy的取值应选择 true. 全部使用默认值.

  no-session问题解决: 扩大session的作用范围.

  

  1. public class Demo {
  2.  
  3. @Test
  4. public void fun1(){
  5. Session session = HibernateUtils.openSession();
  6. Transaction tx = session.beginTransaction();
  7. //----------------------------------------------------
  8.  
  9. String hql = "from Customer ";
  10. Query query = session.createQuery(hql);
  11. List<Customer> list = query.list();
  12.  
  13. for(Customer c:list){
  14. System.out.println(c.getLinkMens());
  15. }
  16.  
  17. //----------------------------------------------------
  18. tx.commit();
  19. session.close();
  20.  
  21. }
  22.  
  23. }

抓取数量

五、练习:为客户列表增加查询条件

在上一次笔记的代码基础上,在显示客户列表之前,加入筛选的条件:

  1. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  2. //1获得查询条件
  3. String cust_name = request.getParameter("cust_name");
  4. //2判断查询条件是否不为空
  5. DetachedCriteria dc = DetachedCriteria.forClass(Customer.class);
  6.  
  7. if(cust_name!=null && !"".equals(cust_name)){
  8. dc.add(Restrictions.like("cust_name", "%"+cust_name+"%"));
  9. }
  10. //不为空=>添加条件
  11. //3 调用Service查询所有客户
  12. List<Customer> list = cs.getAll(dc);
  13. //4 将客户列表放入request域
  14. request.setAttribute("list", list);
  15. //5 转发到list.jsp显示
  16. request.getRequestDispatcher("/jsp/customer/list.jsp").forward(request, response);
  17.  
  18. }

Servlet层代码

  1. public List<Customer> getAll(DetachedCriteria dc) {
  2. Session session = HibernateUtils.getCurrentSession();
  3. //打开事务
  4. Transaction tx = session.beginTransaction();
  5.  
  6. List<Customer> list = customerDao.getAll(dc);
  7.  
  8. //关闭事务
  9. tx.commit();
  10. return list;
  11. }

Service层代码

  1. public List<Customer> getAll(DetachedCriteria dc) {
  2. //1 获得session
  3. Session session = HibernateUtils.getCurrentSession();
  4. //2 将离线对象关联到session
  5. Criteria c = dc.getExecutableCriteria(session);
  6. //3 执行查询并返回
  7. return c.list();
  8. }

Dao层代码

【JAVAEE学习笔记】hibernate04:查询种类、HQL、Criteria、查询优化和练习为客户列表增加查询条件的更多相关文章

  1. JAVAEE学习——hibernate04:查询种类、HQL、Criteria、查询优化和练习为客户列表增加查询条件

    一.查询种类 1.oid查询-get 2.对象属性导航查询 3.HQL 4.Criteria 5.原生SQL 二.查询-HQL语法 //学习HQL语法 public class Demo { //基本 ...

  2. 【JAVAEE学习笔记】hibernate02:实体规则、对象状态、缓存、事务、批量查询和实现客户列表显示

    一.hibernate中的实体规则 实体类创建的注意事项 1.持久化类提供无参数构造 2.成员变量私有,提供共有get/set方法访问.需提供属性 3.持久化类中的属性,应尽量使用包装类型 4.持久化 ...

  3. JAVAEE学习——hibernate02:实体规则、对象状态、缓存、事务、批量查询和实现客户列表显示

    一.hibernate中的实体规则 实体类创建的注意事项 1.持久化类提供无参数构造 2.成员变量私有,提供共有get/set方法访问.需提供属性 3.持久化类中的属性,应尽量使用包装类型 4.持久化 ...

  4. Dynamic CRM 2013学习笔记(九)CrmFetchKit.js介绍:Fetchxml、多表联合查询, 批量更新

    CrmFetchKit.js是一个跨浏览器的一个类库,允许通过JavaScript来执行fetch xml的查询,还可以实现批量更新,分页查询等.目前已支持Chrome 25, Firefox 19 ...

  5. 【JAVAEE学习笔记】hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户

    今日学习:hibernate是什么 一.hibernate是什么 框架是什么: 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架 ...

  6. QML学习笔记(五)— 做一个简单的待做事项列表

    做一个简单的QML待做事项列表,能够动态添加和删除和编辑数据 GitHub:八至 作者:狐狸家的鱼 本文链接:QML学习笔记(五)— 做一个待做事项列表 主要用到QML:ListView 效果 全部代 ...

  7. javaEE学习笔记-单例模式

    定义: 确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式的三要素: (1)私有的静态的成员变量 (2)私有的构造方法 (3)公共的静态的入口点方法 单例模式的分类: (1)饿 ...

  8. javaEE学习笔记-利用DOM4J解析xml至数据库

    xml代码文件名:test02.xml <ACCESOS> <item> <SOCIO> <NUMERO>00045050</NUMERO> ...

  9. JavaEE学习笔记---数据库操作篇

    测试JDBC和SQLServer的插入操作,源码如下: import java.sql.Connection;import java.sql.DriverManager;import java.sql ...

随机推荐

  1. 接口调用 GET方式

    /** * 第一步 视图展示 . 视图页面(忽略) * @return [type] [description] */ /** * 第二步 控制器先将要运行的接口处理好(接口及参数)传到到Model层 ...

  2. 统计学习方法:罗杰斯特回归及Tensorflow入门

    作者:桂. 时间:2017-04-21  21:11:23 链接:http://www.cnblogs.com/xingshansi/p/6743780.html 前言 看到最近大家都在用Tensor ...

  3. 《阿里巴巴Java开发手册(正式版》读记

    前几天,阿里巴巴发布了<阿里巴巴Java开发手册(正式版>,第一时间下载阅读了一番. 不同于一般大厂内部的代码规范,阿里巴巴的这本Java开发手册,可谓包罗万象,几乎日常Java开发中方方 ...

  4. 【uwp】浅谈China Daily中数据同步到One Drive的实现

    新版China Daily与旧版相比新增了数据同步的功能,那这个功能具体是如何实现的呢,现在让我们来一起看看. 1.注册应用 开发者中心的应用注册就不用多说了(https://developer.mi ...

  5. 关于使用mybatis的几点总结

    mybatis的几点总结 1.关于resultType和resultMap的使用 查询结果集统一采用resultType,不要采用resultMap,因为resultMap需要写许多的表字段和实体类的 ...

  6. 【国家集训队2012】tree(伍一鸣)

    Description 一棵n个点的树,每个点的初始权值为1.对于这棵树有q个操作,每个操作为以下四种操作之一:  + u v c:将u到v的路径上的点的权值都加上自然数c:  - u1 v1 u2 ...

  7. hdu4185二分图匹配

    Thanks to a certain "green" resources company, there is a new profitable industry of oil s ...

  8. Java:构造器,构造代码块,静态代码块的执行顺序

    1.构造器:与类同名且没有返回值,用来初始化类属性: 构造器又分为无参构造器和有参构造器 1.1:无参构造器 public class Contruction{ ...属性... public Con ...

  9. python爬虫第一天

    python爬虫第一天 太久没折腾爬虫 又要重头开始了....感谢虫师大牛的文章. 接下来的是我的随笔 0x01 获取整个页面 我要爬的是百度贴吧的图,当然也是跟着虫师大牛的思路. 代码如下: #co ...

  10. 关于php调用.net的web service 踩过的坑

    从前一阵开始,公司要和对方做web service对接.由于对方使用.net语言,而我方使用php.本来经理是要求我们也用.net写web service的服务端.而我上学时学的.net全忘了... ...