-
续OGNL及Mybaits中的foreach查看全部
-
sqlsession调用 方法来执行 sql语句 只是输入了select标签的名字,但是并没有输入sql配置文件的uri,所以要在数据库连接的核心配置文件中 导入 sql配置文件,即<mappers>标签与子标签<mapper> sqlsession调用时会用到这个名字 resultmap属性。对应的是resultmap标签的id mybatis配置文件中的mapper标签 属性是namespace 翻译是命名空间 mapper标签内包含 resultmap标签 是执行完查询语句后返回的结果集 resultmap有子标签 id。 用来配置 有主键约束的行 和result。 用来配置其他行 并列关系 ,都有属性column jdbctype property属性 column看名字 就是数据库的字段名 properry 是数据库对应dao类中的属性 select标签 insert标签 update标签。这些标签里写的都是sql语句 resultMap 中id是标识,是唯一的。resultMap中的子标签中的id表示后台数据库的主键,而result对应得实后台数据库除了主键以外的其他字段。查看全部
-
resultMap里面 type对应类,column对应数据库字段名,jdbcType对应数据库类型(java.sql.Types),property对应实体类字段查看全部
-
不同的namespace,相同标签id可以重复,同一个namespace,不同标签id可以重复查看全部
-
Mybatis最核心对象SqlSession查看全部
-
Model: 数据表对应的模型; DAO:每个表对应一个DAO,对该表的一些操作。 Service:或Logic层,跟Servlet对应,一些相关的业务功能。 Servlet: 设置编码/过滤器;接受页面的值;向页面传值;业务需要调用service;跳转。 关于今天的出现的几个错误和学到的新知识: 1,jsp页面传值可以使用超链接形式为:地址?参数=要传的值! 2,servlet总采用request.getParameter("参数”)接收; 3,jdbc中对占位符?的复制采用setInt(index,参数)的方式index代表第几个?。 在Dao层中封装了与数据库有关的操作,在service层调用Dao层来处理业务逻辑,在servlet中调用service层中的对象来得到处理的结果,并且返回给页面 servlet的几个功能: 1.接受页面的值 2.向页面传值 3.根据业务需要,调用service 4.跳转页面 Model: 数据表对应的模型; DAO:每个表对应一个DAO,对该表的一些操作。 Service:或Logic层,跟Servlet对应,一些相关的业务功能。 Servlet: 设置编码/过滤器;接受页面的值;向页面传值;业务需要调用service;跳转。查看全部
-
Model: 数据表对应的模型; DAO:每个表对应一个DAO,对该表的一些操作。 Service:或Logic层,跟Servlet对应,一些相关的业务功能。 Servlet: 设置编码/过滤器;接受页面的值;向页面传值;业务需要调用service;跳转。 =============================================================================== 在Dao层中封装了与数据库有关的操作,在service层调用Dao层来处理业务逻辑,在servlet中调用service层中的对象来得到处理的结果,并且返回给页面 servlet的几个功能: 1.接受页面的值 2.向页面传值 3.根据业务需要,调用service 4.跳转页面查看全部
-
Mybatis最核心对象SqlSession查看全部
-
@关键代码(技巧): StringBuilder sql=new StringBuilder(" select ID,COMMAND,DESCRIPTION,CONTENT from message where 1=1 "); List<String> paramList=new ArrayList<String>(); if(command!=null&&!"".equals(command.trim())){ sql.append(" and COMMAND=? "); paramList.add(command); } if(description!=null&&!"".equals(description.trim())){ sql.append(" and DESCRIPTION like '%' ? '%' ");//MySql语法:'%'空格?空格'%' paramList.add(description); } PreparedStatement pstmt=conn.prepareStatement(sql.toString()); for(int i=0;i<paramList.size();i++){ pstmt.setString(i+1,paramList.get(i)); } ResultSet rs=pstmt.executeQuery(); 注意1:PreparedStatement语句要在sql语句还没准备好后面,但要在循环前面。 注意2:为何不直接在if语句后写“?”的内容呢?因为不知道问号序号是多少,不好控制。 Ps1:Tomcat启动一般用Debug,只要不要设置断点,效果与Run是一样的,这样一来,如果想调试就设置断点即可,不需要再切换到Debug模式(Ps:Debug模式下,修改Java代码会自动上传到服务器,无需重新启动Tomcat)查看全部
-
1.不用String sql、sql+="" ,用StringBuffer sql、sql.append() 2.对应的原来的字符串要加上toString,如prepareStatement(sql.toString()) 3.查询不可以用select *,要把查询的字段都写上,否则会降低效率 4.不为空+不为空字符串的判断方法 if(des!=null&&!"".equals(des.trim())) 1=1,用户没输入任何值的时候,此时的sql语句是 sql是select * from command where;这样的话,sql语句就有问题;只有加上1=1才是一条完整的sql语句,因为1=1是永远成立的,所以select * from command where 1=1 就相当于 select * from command。。。。。。否者会出错(You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and COMMAND ='查看'' at line 1)查看全部
-
1.载入JSTL中的c标签:<%@ taglib prefix="c" uri="http://java.sum.com/jsp/jstl/core" %> 2.利用c标签来进行foreach循环和if判断 <c:forEach items="${messageList}" var="message" varStatus="status"><!-- varSatus属性,可以通过其属性值获取到本次循环的状态,如其中的index可以获取循环的次数(从0开始),可配合if标签做隔行换色的效果 --> <tr <c:if test="${status.index % 2 != 0}">style='background-color:#ECF6EE;'</c:if>> <td><input type="checkbox" name="id" value="${message.id}"/></td> <td>${status.index + 1}</td> <td>${message.command}</td> <td>${message.description}</td> <td> </c:forEach>查看全部
-
自动回复机器人案例分析:查看全部
-
琥珀川振早见 MyEclipse断点调试:在代码最左端,也就是行号位置处双击,会出现一个实心小圆点,即加入的断点,debug启动程序,就会执行到断点处: 按F5是进去方法里面, 按F6是一步一步走, 按F7是跳出方法里面(按F5后再按F7就跳出来了), 按F8是跳过本断点执行所有的代码。 时间: 2017-09-03 2查看全部
-
在配置log4j日志文件输出时,rootLogger中的配置等级,是一个标准,其他地方的log4j的等级大于等于配置的等级时,可以正常执行查看全部
-
接着上述笔记,除了标识符,还可以使用自带的操作符,and,or,mod.in.not in查看全部
举报
0/150
提交
取消