必须明本文章==》http://www.cnblogs.com/zhu520/p/7773133.html 

一:在前一个方法(http://www.cnblogs.com/zhu520/p/7774144.html)一对多的查询中,我使用的是一对多的映射来查询数据的

如:一种品种类型(TbType)有多种花(TbFlower)

1):Po对象:

要在 1 的那方 包含  多的

TbType.java

  1. private Integer typeId;
  2. private String type;
  3. private Set<TbFlower> setFlowers=new HashSet<TbFlower>();
  4. public Set<TbFlower> getSetFlowers() {
  5. return setFlowers;
  6. }
  7. public void setSetFlowers(Set<TbFlower> setFlowers) {
  8. this.setFlowers = setFlowers;
  9. }

2):而在多那方就要:引用一的类

TbFlower.java

  1. private Integer flowerId;
  2. private String flower;
  3. private Integer typeId;
  4. //花的品种
  5. private TbType tbType;

(1)  一般一个实体类对应一个映射文件

3):映射文件

TbFlower.hbm.xml

TbType.hbm.xml

一对多和多对一的映射原理是一样的,都是在多的一端加入一个外键指向一的一端

它们的区别在于维护的关系不同

多对一维护的关系:多指向一的关系,如果维护了多指向一的关系,那么加载多的时候会把一加载上来

一对多维护的关系:一指向多的关系,如果维护了一指向多的关系,那么加载一的时候会把多加载上来

其实这两者什么鬼关系我也是懵逼的。。半懂又不懂的感觉。

4):然后就可以根据你需要进行你的增删查改了

二: 现在我不使用上面的映射来进行查询,我是在已有的 品种(TbType),花(TbFlower) 的基础上在新建一个po的类,它是把品种(TbType)和花(TbFlower)的变量全部组合其他来(TbFlowerTypeVo.java)

步骤:

1):我的运行环境

我使用myeclipse(你也可以使用eclipse个人喜欢),tomcat7

jar包 放在百度云,托到文章最后有链接下载即可(其实也可以根据我之前http://www.cnblogs.com/zhu520/p/7772823.html 去弄,不需要去网上下载(但是只是对myeclipse而言,eclipse还是要到网上下载的))

1): 先看看package情况先

2):applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  6. xsi:schemaLocation="
  7. http://www.springframework.org/schema/tx
  8. http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
  9. http://www.springframework.org/schema/aop
  10. http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
  11. http://www.springframework.org/schema/context
  12. http://www.springframework.org/schema/context/spring-context-3.1.xsd
  13. http://www.springframework.org/schema/beans
  14. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
  15. default-autowire="byName">
  16.  
  17. <!-- 开启注解 -->
  18. <context:annotation-config />
  19. <!-- spring 扫描路径,注意当前工程只需要扫描dao和service,srpingmvc或者struts2注解才有变化 -->
  20. <context:component-scan base-package="zhu.dao,zhu.service" />
  21.  
  22. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  23. <property name="driverClassName" value="com.mysql.jdbc.Driver">
  24. </property>
  25. <property name="url" value="jdbc:mysql://127.0.0.1:3306/jdbc01">
  26. </property>
  27. <property name="username" value="root"></property>
  28. <property name="password" value="root"></property>
  29. </bean>
  30. <bean id="sessionFactory"
  31. class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  32. <property name="dataSource">
  33. <ref bean="dataSource" />
  34. </property>
  35. <property name="hibernateProperties">
  36. <props>
  37. <prop key="hibernate.dialect">
  38. org.hibernate.dialect.MySQLDialect
  39. </prop>
  40. <prop key="hibernate.show_sql">
  41. true
  42. </prop>
  43. <prop key="hibernate.hbm2ddl.auto">update</prop>
  44.  
  45. </props>
  46. </property>
  47. <!-- 第一种方法: <property name="mappingDirectoryLocations">
  48. <list>
  49. <value>classpath:zhu/cfg/</value>
  50. </list>
  51. </property> -->
  52.  
  53. <!--第二种方法: -->
  54. <property name="mappingResources">
  55. <list>
  56. <value>zhu/cfg/TbFlower.hbm.xml</value>
  57. <value>zhu/cfg/TbType.hbm.xml</value>
  58. </list>
  59. </property>
  60. </bean>
  61. <!-- 配置声明式事务管理(采用注解的方式) -->
  62. <bean id="txManager"
  63. class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  64. <property name="sessionFactory" ref="sessionFactory"></property>
  65. </bean>
  66. <!-- 开启注解事务 --> <!-- 用注解来实现事务管理 -->
  67. <tx:annotation-driven transaction-manager="txManager" />
  68. </beans>

applicationContext.xml

web。xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  3. <display-name></display-name>
  4. <welcome-file-list>
  5. <welcome-file>index.jsp</welcome-file>
  6. </welcome-file-list>
  7. <context-param>
  8. <param-name>contextConfigLocation</param-name>
  9. <param-value>
  10. classpath:applicationContext*.xml
  11. </param-value>
  12. </context-param>
  13. <listener>
  14. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  15. </listener>
  16. <filter>
  17. <filter-name>struts2</filter-name>
  18. <filter-class>
  19. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  20. </filter-class>
  21. </filter>
  22. <filter-mapping>
  23. <filter-name>struts2</filter-name>
  24. <url-pattern>*.action</url-pattern>
  25. </filter-mapping>
  26. </web-app>

web.xml

3):po包的情况

TbFlower.java ==>是没有 TbType的变量的

  1. package zhu.po;
  2.  
  3. public class TbFlower {
  4. private Integer flowerId;
  5. private String flower;
  6. private Integer typeId;
  7. public Integer getFlowerId() {
  8. return flowerId;
  9. }
  10. public void setFlowerId(Integer flowerId) {
  11. this.flowerId = flowerId;
  12. }
  13. public String getFlower() {
  14. return flower;
  15. }
  16. public void setFlower(String flower) {
  17. this.flower = flower;
  18. }
  19. public Integer getTypeId() {
  20. return typeId;
  21. }
  22. public void setTypeId(Integer typeId) {
  23. this.typeId = typeId;
  24. }
  25.  
  26. }

TbFlower.java

TbType.java ==》没有TbFlower

  1. package zhu.po;
  2.  
  3. import java.util.HashSet;
  4. import java.util.Set;
  5.  
  6. public class TbType {
  7. private Integer typeId;
  8. private String type;
  9.  
  10. public Integer getTypeId() {
  11. return typeId;
  12. }
  13.  
  14. public void setTypeId(Integer typeId) {
  15. this.typeId = typeId;
  16. }
  17.  
  18. public String getType() {
  19. return type;
  20. }
  21.  
  22. public void setType(String type) {
  23. this.type = type;
  24. }
  25.  
  26. }

TbType.java

TbFlowerTypeVo.java==》这个是把上面的两个类全部变量的组合(2个以上的表也可以这样做,测试过是行的通的)

  1. package zhu.po;
  2.  
  3. public class TbFlowerTypeVo {
  4. private Integer flowerId;
  5. private String flower;
  6. private Integer typeId;
  7. private String type;
  8.  
  9. public TbFlowerTypeVo(){}
  10.  
  11. public TbFlowerTypeVo(int flowerId,String flower,int typeId, String type){
  12. this.flowerId=flowerId;
  13. this.flower=flower;
  14. this.typeId=typeId;
  15. this.type=type;
  16. }
  17.  
  18. public Integer getFlowerId() {
  19. return flowerId;
  20. }
  21.  
  22. public void setFlowerId(Integer flowerId) {
  23. this.flowerId = flowerId;
  24. }
  25.  
  26. public String getFlower() {
  27. return flower;
  28. }
  29.  
  30. public void setFlower(String flower) {
  31. this.flower = flower;
  32. }
  33.  
  34. public Integer getTypeId() {
  35. return typeId;
  36. }
  37.  
  38. public void setTypeId(Integer typeId) {
  39. this.typeId = typeId;
  40. }
  41.  
  42. public String getType() {
  43. return type;
  44. }
  45.  
  46. public void setType(String type) {
  47. this.type = type;
  48. }
  49. }

4):映射文件  只需要映射 TbFlowe和TbType不需要映射TbFlowerTypeVo

TbType.hbm.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <hibernate-mapping>
  5. <class name="zhu.po.TbType" table="tbtype" catalog="jdbc01">
  6. <id name="typeId" type="java.lang.Integer">
  7. <column name="typeId" />
  8. <generator class="identity" />
  9. </id>
  10. <property name="type" type="java.lang.String">
  11. <column name="type" length="12" />
  12. </property>
  13. </class>
  14. </hibernate-mapping>

TbFlower.hbm.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <hibernate-mapping>
  5. <class name="zhu.po.TbFlower" table="tbflower" catalog="jdbc01">
  6. <id name="flowerId" type="java.lang.Integer">
  7. <column name="flowerId" />
  8. <generator class="identity" />
  9. </id>
  10. <property name="typeId" type="java.lang.Integer">
  11. <column name="typeId" length="12" />
  12. </property>
  13. <property name="flower" type="java.lang.String">
  14. <column name="flower" length="12" />
  15. </property>
  16. </class>
  17. </hibernate-mapping>

5):dao包

IFlowerDao.java

新增修改删除和以前的操作是一样的,,所以下面并没有修改和删除的操作

  1. package zhu.dao;
  2.  
  3. import java.util.List;
  4.  
  5. import zhu.po.TbFlower;
  6. import zhu.po.TbFlowerTypeVo;
  7.  
  8. public interface IFlowerDao {
  9. /**
  10. * 方法一
  11. * 查询所有数据
  12. * 多表查询
  13. * @return
  14. */
  15. public List<TbFlowerTypeVo> findAll1();
  16.  
  17. /**
  18. * 方法2
  19. * 查询所有数据
  20. * 多表查询
  21. * @return
  22. */
  23. public List<TbFlowerTypeVo> findAll2();
  24.  
  25. /**
  26. * 新增
  27. * @param
  28. * @return
  29. */
  30. public boolean save(TbFlower t);
  31. }

FlowerImpl.java

第一种方法:

在查询多表的时候,使用TbFlowerTypeVo即可查询,

使用createQuery()的方法查询

第二种方法:

使用的是左链接( left join)进行的查询(左链接就是以左为主,右边的记录可能为空,右链接就是以右为主左边的可能为空) 、

使用createSQLQuery()的方法查询

注意:createQuery与createSQLQuery两者的区别是:

creatQuery用hql语句进行查询,createSQLQuery可以用sql语句查询

creatQuery用hibernate生成的Bean为对象封装到list返回

createSQLQuery是以对象数组进行存储

所以使用createSQLQuery时想以hibernate生成的bean为对象装入list返回,就笔记麻烦

那么可以使用这样的一个方法可以直接转换为对象的

  1. Query query = session.createSQLQuery(sql).addEntity(XXXXXXX.class);
    XXXXXXX 代表以hibernate生成的Bean的对象,也就是数据表映射出的Bean

如果想更清楚的链接createQuery与createSQLQuery两者的区别 可以去看看这边文章 链接 ,上面的内容也是在那里学到的

  1. package zhu.dao.impl;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.hibernate.Session;
  7. import org.hibernate.SessionFactory;
  8. import org.springframework.stereotype.Repository;
  9. import org.springframework.transaction.annotation.Transactional;
  10.  
  11. import zhu.dao.IFlowerDao;
  12. import zhu.po.TbFlower;
  13. import zhu.po.TbFlowerTypeVo;
  14. @Transactional
  15. @Repository(value="flowerDao")
  16. public class FlowerImpl implements IFlowerDao{
  17.  
  18. SessionFactory sessionFactory;
  19.  
  20. public SessionFactory getSessionFactory() {
  21. return sessionFactory;
  22. }
  23.  
  24. public void setSessionFactory(SessionFactory sessionFactory) {
  25. this.sessionFactory = sessionFactory;
  26. }
  27.  
  28. public Session getSession(){
  29. return getSessionFactory().openSession();
  30. }
  31.  
  32. /**使用TbFlowerTypeVo即可查询
  33. * 方法一:
  34. */
  35. @SuppressWarnings("unchecked")
  36. @Override
  37. public List<TbFlowerTypeVo> findAll1() {//from Student s inner join s.classes c
  38. String hql="select new zhu.po.TbFlowerTypeVo(u.flowerId,u.flower,p.typeId, p.type) from TbFlower u , TbType p where u.typeId=p.typeId";
  39. List<TbFlowerTypeVo> listManyVos=getSession().createQuery(hql).list();
  40. return listManyVos;
  41. }
  42.  
  43. /**左链接
  44. * 方法二:
  45. */
  46. @SuppressWarnings("unchecked")
  47. @Override
  48. public List<TbFlowerTypeVo> findAll2() {//from Student s inner join s.classes c
  49. String sql="select u.*,p.type from TbFlower u left join TbType p on u.typeId=p.typeId";
  50. List<Object[]> listobje=getSession().createSQLQuery(sql).list();
  51. List<TbFlowerTypeVo> VolistMany=new ArrayList<TbFlowerTypeVo>();
  52. for (int i = 0; i < listobje.size(); i++) {
  53. Object[] obj=listobje.get(i);
  54. VolistMany.add(new TbFlowerTypeVo((Integer)obj[0],(String)obj[2],(Integer)obj[1],(String)obj[3]));
  55. }
  56. for (TbFlowerTypeVo userPowerVo : VolistMany) {
  57. System.out.println(userPowerVo.getFlower());
  58. }
  59. return VolistMany;
  60. }
  61.  
  62. @Override
  63. public boolean save(TbFlower t) {
  64. boolean b=false;
  65. try {
  66. getSession().save(t);
  67. b=true;
  68.  
  69. } catch (Exception e) {
  70. }
  71. return b;
  72. }
  73.  
  74. }

6):service包

IFlowerDaoService.java

  1. package zhu.service;
  2.  
  3. import java.util.List;
  4.  
  5. import zhu.po.TbFlower;
  6. import zhu.po.TbFlowerTypeVo;
  7.  
  8. public interface IFlowerDaoService {
  9. /**查询所有数据
  10. * 多表查询
  11. * @return
  12. */
  13. public List<TbFlowerTypeVo> findAll1();
  14.  
  15. /**
  16. * 方法2
  17. * 查询所有数据
  18. * 多表查询
  19. * @return
  20. */
  21. public List<TbFlowerTypeVo> findAll2();
  22.  
  23. /**
  24. *新增
  25. */
  26. public boolean save(TbFlower t);
  27. }

FlowerDaoServiceImpl.java

  1. package zhu.service.impl;
  2.  
  3. import java.util.List;
  4.  
  5. import javax.annotation.Resource;
  6.  
  7. import org.springframework.stereotype.Service;
  8.  
  9. import zhu.dao.IFlowerDao;
  10. import zhu.po.TbFlower;
  11. import zhu.po.TbFlowerTypeVo;
  12. import zhu.service.IFlowerDaoService;
  13.  
  14. @Service
  15. public class FlowerDaoServiceImpl implements IFlowerDaoService{
  16. @Resource(name="flowerDao")
  17. IFlowerDao flowerDao;
  18.  
  19. @Override
  20. public List<TbFlowerTypeVo> findAll1() {
  21. // TODO Auto-generated method stub
  22. return flowerDao.findAll1();
  23. }
  24. @Override
  25. public List<TbFlowerTypeVo> findAll2() {
  26. // TODO Auto-generated method stub
  27. return flowerDao.findAll2();
  28. }
  29.  
  30. @Override
  31. public boolean save(TbFlower t) {
  32. // TODO Auto-generated method stub
  33. return flowerDao.save(t);
  34. }
  35.  
  36. }

7:action包(即web包)

MantTableAction.java

注意:

ModelDriven:模型驱动,对所有action的模型对象进行批处理

简单的数ModelDriven,意思是直接把实体类当成页面数据的收集为对象

这篇文章写挺全面的可以去看看  链接

  1. package zhu.action;
  2.  
  3. import java.util.List;
  4.  
  5. import org.apache.struts2.ServletActionContext;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8.  
  9. import zhu.po.TbFlower;
  10. import zhu.po.TbFlowerTypeVo;
  11. import zhu.service.impl.FlowerDaoServiceImpl;
  12.  
  13. import com.opensymphony.xwork2.ActionContext;
  14. import com.opensymphony.xwork2.ActionSupport;
  15. import com.opensymphony.xwork2.ModelDriven;
  16.  
  17. @Controller
  18. public class MantTableAction extends ActionSupport implements ModelDriven<TbFlowerTypeVo> {
  19. TbFlowerTypeVo tbFlowerTypeVo1;
  20.  
  21. @Autowired
  22. FlowerDaoServiceImpl myfServiceImpl;
  23. @Override
  24. public TbFlowerTypeVo getModel() {
  25. tbFlowerTypeVo1=new TbFlowerTypeVo();
  26. return tbFlowerTypeVo1;
  27. }
  28. /**方法1
  29. * 多表查询所有
  30. * @return
  31. */
  32. public String findAll1(){
  33. ActionContext actionContext=ServletActionContext.getContext();
  34. List<TbFlowerTypeVo> list=myfServiceImpl.findAll1();
  35. actionContext.put("tb1", list);
  36. return "find";
  37. }
  38.  
  39. /**方法2
  40. * 多表查询所有
  41. * @return
  42. */
  43. public String findAll2(){
  44. ActionContext actionContext=ServletActionContext.getContext();
  45. List<TbFlowerTypeVo> list=myfServiceImpl.findAll2();
  46. actionContext.put("tb2", list);
  47. return "find";
  48. }
  49.  
  50. /**
  51. * 新增
  52. */
  53. public String save(){
  54. System.out.println(tbFlowerTypeVo1.getTypeId());
  55. TbFlower tbFlower=new TbFlower();
  56. tbFlower.setFlower(tbFlowerTypeVo1.getFlower());
  57. tbFlower.setTypeId(tbFlowerTypeVo1.getTypeId());
  58. if (myfServiceImpl.save(tbFlower)) {
  59. return "ok";
  60. }
  61. return "fail";
  62. }
  63.  
  64. }

struts.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
  3. <struts>
  4. <package name="uu" namespace="/tb" extends="struts-default">
  5. <action name="MantTableAction" class="zhu.action.MantTableAction">
  6. <result name="find">/jsp/findAll.jsp</result>
  7. <result name="fail">/jsp/fail.jsp</result>
  8. <result name="ok" type="redirectAction">
  9. <param name="actionName">MantTableAction</param>
  10. <param name="method">findAll1</param>
  11. </result>
  12. </action>
  13. </package>
  14. </struts>

8):jsp

findAll.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8. <html>
  9. <head>
  10. <base href="<%=basePath%>">
  11. <title>多表查询</title>
  12.  
  13. <meta http-equiv="pragma" content="no-cache">
  14. <meta http-equiv="cache-control" content="no-cache">
  15. <meta http-equiv="expires" content="0">
  16. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  17. <meta http-equiv="description" content="This is my page">
  18.  
  19. </head>
  20.  
  21. <body>
  22. <div align="center">
  23. <h3>方法1-----</h3>
  24. <form action="tb/MantTableAction!findAll1.action" method="post">
  25. <input type="submit" value="多表查询数据--方法一"/>
  26. <table border="1" cellspacing="0">
  27. <thead>
  28. <tr>
  29. <td>Id</td><td>花的名称</td><td>花品种</td>
  30. </tr>
  31. </thead>
  32. <tbody>
  33. <c:forEach items="${tb1 }" var="tb2">
  34. <tr>
  35. <td>${tb2.flowerId} </td>
  36. <td>${tb2.flower} </td>
  37. <td> ${tb2.type} </td>
  38. </tr>
  39. </c:forEach>
  40. </tbody>
  41. </table>
  42. </form>
  43. </div>
  44. <hr/> <div align="center">
  45. <h3>方法2-----</h3>
  46. <form action="tb/MantTableAction!findAll2.action" method="post">
  47. <input type="submit" value="多表查询数据--方法二"/>
  48. <table border="1" cellspacing="0">
  49. <thead>
  50. <tr>
  51. <td>Id</td><td>花的名称</td><td>花品种</td>
  52. </tr>
  53. </thead>
  54. <tbody>
  55. <c:forEach items="${tb2 }" var="tb2">
  56. <tr>
  57. <td>${tb2.flowerId} </td>
  58. <td>${tb2.flower} </td>
  59. <td> ${tb2.type} </td>
  60. </tr>
  61. </c:forEach>
  62. </tbody>
  63. </table>
  64. </form>
  65. </div>
  66.  
  67. <hr/>
  68.  
  69. <div align="center">
  70. <h3>新增-----</h3>
  71. <form action="tb/MantTableAction!save.action" method="post">
  72. 啥花 : <input type="text" name="flower"/><br/>
  73. 品种 : <select name="typeId">
  74. <option value="1">A品种</option>
  75. <option value="2">B品种</option>
  76. </select>
  77. <br/>
  78. <br/>
  79. <input type="submit" value="新增"/>
  80. </form>
  81. </div>
  82. </body>
  83. </html>

运行效果:

源码下载链接:http://pan.baidu.com/s/1kUG2I3t 密码:dbpi

SSH框架的多表查询(方法二)的更多相关文章

  1. SSH框架的多表查询和增删查改 (方法一)上

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>  http://www.cnblogs.com/zhu520/p/7772823.html   因为最近在做Android 练习的 ...

  2. SSH框架的多表查询和增删查改 (方法一)中

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>http://www.cnblogs.com/zhu520/p/7774144.html   这边文章是接的刚刚前一遍的基础上敲的  ...

  3. SSH框架的多表查询(方法二)增删查改

     必须声明本文章==>http://www.cnblogs.com/zhu520/p/7773133.html  一:在前一个方法(http://www.cnblogs.com/zhu520/p ...

  4. python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)

    12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefaul ...

  5. J2EE进阶(七)利用SSH框架根据数据表建立model类

    J2EE进阶(七)利用SSH框架根据数据表建立model类 前言 在利用SSH框架进行项目开发时,若将数据库已经建好,并且数据表之间的依赖关系已经确定,可以利用Hibernate的反转功能进行mode ...

  6. springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetomany

    springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetoma ...

  7. 【SSH框架】之Struts2系列(二)

    微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联 1.Struts2常量配置 (1).Struts2默认常量配置文件路径,如下图: (2).Strut ...

  8. SSH框架中配置log4j的方法

    SSH框架中使用log4j的方便之处 1. 动态的改变记录级别和策略,即修改log4j.properties,不需要重启Web应用,这需要在web.xml中设置一下.2. 把log文件定在 /WEB- ...

  9. 头像文件上传 方法一:from表单 方法二:ajax

    方法一:from表单 html 设置form表单,内包含头像预览div,内包含上传文件input 设置iframe用来调用函数传参路径 <!--表单提交成功后不跳转处理页面,而是将处理数据返回给 ...

随机推荐

  1. Square roots

    Loops are often used in programs that compute numerical results by starting with an approximate answ ...

  2. POJ 3277 线段树+扫描线

    题意: 思路: 线段树求矩形面积的并...同 POJ 1151 //By SiriusRen #include <cstdio> #include <algorithm> us ...

  3. 【DNN发布包解释】package 包裹

    package 包裹 owner 主人 dependency 附属国 azureCompatible 天青兼容 releaseNotes  发行说明 license 许可证 CoreVersion 核 ...

  4. AngularJs轻松入门(三)MVC架构

    MVC应用程序架构最早于1970年起源于Smalltalk语言,后来在桌面应用程序开发中使用较为广泛,如今在WEB开发中也非常流行.MVC的核心思想是將数据的管理(Model).业务逻辑控制(Cont ...

  5. Saying Good-bye to Cambridge Again

    Saying Good-bye to Cambridge Again Very quietly I take my leave,      As quietly as I came here;     ...

  6. 学以敩(xiao,效)为敎,以见为觉。醒悟、明白。

    学以敩(xiao,效)为敎,以见为觉.醒悟.明白 上半部分中间的爻是算筹,在古时被用来记数和计算:两边是手,既表示手把手传授,双手也表恭敬与专注:中间是一座房子,表示教学和学习的地方,这个地方不用豪华 ...

  7. SSD-实现

    一.制作voc数据集 1.数据集文件夹 新建一个文件夹,用来存放整个数据集,或者和voc2007一样的名字:VOC2007 然后像voc2007一样,在文件夹里面新建如下文件夹: 2.将训练图片放到J ...

  8. 发工资了T_T

    和哈比一起吃的四人餐 望京很好很和谐

  9. [NOIP2015提高组]子串

    题目:洛谷P2679.Vijos P1982.codevs4560.UOJ#149. 题目大意:有长度为n的A串和长度为m的B串.现在要从A串中取出k个互不重叠的子串,使它们按顺序相连后得到B串.问有 ...

  10. cookie 实现记住用户名演示 通过代码迅速理解cookie

    // 登录页 可直接 tomcat部署 测试 1 package com.itheima.login; import java.io.IOException; import java.io.Print ...