-
主表的xml配置文件:查看全部
-
一个指令对应多条不同回复内容<br> 一对多的关系,一般拆分成两张表,这样就减少了冗余数据<br> ①表指令表:主键、name、description<br> ②表指令表对应的内容:主键、内容、指令表的主键(command_id)<br> 这样,一个指定就可以在②表找到所对应的多条内容 两种结构: ——————————①一条指令回复一组内容 ——————————②一条指令回复一组中的一个内容,在java代码中随机回复一条即可 dao层内容: ——————————————————————列表查询 ——————————————————————页面初始化 ——————————————————————微信对话查看全部
-
批量查看查看全部
-
修改文件名 右击---Refacter---Rename---; 可以将包含此文件名的所有文件都做出修改 快捷键:Alt+Shift+R /* *通过指令查询自动回复的内容 *@param command指令 *@return 自动回复的内容 * */ public String queryByCommand(String comand) { MessageDao mesageDao = new MessageDao(); List<Message> messageList =messageDao.queryMessageList(command,null); if(messageList.size()>0) { return messageList.get(0).getContent(); } return Iconst.NO_MATCHING_CONTENT; } }查看全部
-
如果js中Dom对象的值为 ""、null、undefined、0;则if(Dom对象)为false 点击按钮提交请求,判断字符串不为空的话,执行ajax请求。 ajax复习: url:请求后台的路径 type:提交方式 dataType:数据类型 timeout:超时时间 success:成功后的回调函数,函数中的内容是对服务端传递的数据进行处理。 data:请求参数查看全部
-
如果js中Dom对象的值为 ""、null、undefined、0;则if(Dom对象)为false 点击按钮提交请求,判断字符串不为空的话,执行ajax请求。 ajax复习: url:请求后台的路径 type:提交方式 dataType:数据类型 timeout:超时时间 success:成功后的回调函数,函数中的内容是对服务端传递的数据进行处理。 data:请求参数查看全部
-
//批量删除 <delete id="deleteBatch" parameterType ="java.util.List"> delete from message where id in( <foreach colleciton="list" item="item" separator=","> #{item} </foreach> ) </delete>查看全部
-
1.mybatis删除事务的时候为什么用sqlSession.commit()?原因就是mybatis将手动提交设置为false了,代码如下Connection con;con.setAutoCommit(false)。 2.做批量删除,在sql配置文件中注意入参类型为java.util.List,删除语句的where 语句为 where ID in(),将在in()里添加删除的id,这里就要使用foreach对list中的属性进行迭代,但是语句中是要使用逗号分开的,所以使用到了foreach中关键的属性separator用来作分割,这里使用逗号分割,这样就把where语句完成了。 3.修改Dao层的代码,入参为List<Integer> ids,执行方法。 4.service层调用dao层的方法。入参String[] ids。 5.servlet层接收参数为String[] ids 类型,调用service方法把参数类型转为Integer查看全部
-
Connection为何不需要commit();因为conn.setAutoCommit(true);设置为自动提交,而我们MyBatis把它封装后,setAutoCommit(false);所以需要手动提交事务。查看全部
-
servlet 接收页面的值,向页面传值,如有需要调用service层,实现页面跳转 service 实现相关业务逻辑,算法。如有需要调用dao层 dao 实现与数据库的交互,执行SQL语句 //mybatis有事务控制能力,不会自动提交,所以对于增删改 需要手动提交,查询不需要的 //jdbc事务默认自动提交 sqlSession.commit();查看全部
-
servlet负责接收页面的值和向页面传值。如果有业务逻辑需要处理则调用相应的service。service接收servlet传过来的值,并对其进行处理,做业务的操作,算法等等,如果有需要则调用相应的dao层。dao层完成与数据库的交互,执行相应的SQL语句。 增删改默认按事务处理,Mybatis对事务的控制,默认 是不自动提交的,需要手动提交 sqlSession.commit(); <script type="text/javascript" charset="utf-8" > //获得动态URL function getUrl(url){ //获得查询指令名称的值 var command = document.getElementById("command").value; //获得查询描述的值 var description = document.getElementById("description").value; //拼接最后的URL地址 var changeUrl = url + "&command=" + command + "&description=" + description; //跳转页面 window.location.href=changeUrl; } </script> 单条删除:<a>用post传值,并弹出确认框 <script type="text/javascript"> function judgeDelete(id) { if(confirm("确定要删除吗?")) { window.location.href="DeleteOneServlet.action?id="+id; } } </script> <a href="javascript:judgeDelete(${message.id})">删除</a>查看全部
-
应用log4j(日志)调试动态SQL: 1、jar包和配置文件 2、log4j.properties <1>log4j.rootLogger=DEBUG,Console:输出级别(级别<由低到高>debug/info/warn/error)和输出位置(控制台) <2>log4j.appender.Console=org.apache.log4j.ConsoleAppender:配置这个类才会输出在控制台(可在别处) <3>log4j.appender.layout=org.apache.log4j.PatternLayout:布局(按照自己的想法去输出)<4>log4j.appender.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n: %d:产生日志的时间 [%t]:产生日志所处线程的线程名称 %-5p:输出日志的级别、 "5":代表输出的字符会占5位字符,不足则会用空格补齐; "-":指的是补齐的空格在右边,没有则在左边. [%c]:指输出这个日志时处于的那个类的全名,包括包名 %m:输出的时候附加的信息 %n输出换行 <5>log4j.logger.org.apache=INFO:为不同包配不同的级别,把总的覆盖,可看到自己想看的信息 log4j配置详解 一、log4j.rootLogger=INFO, stdout, R 第一个参数为等级,后面可跟一到多个参数,为输出的位置; 例句的意思为将等级为INFO的日志信息使用stdout和R进行输出,stdout和R可以自己命名; 等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,OFF是关闭,不输出任何信息,其他级别按这个顺序依次降低,如果 指定一个级别,如INFO,则比该级别高的信息都会输出查看全部
-
log级别:由低到高:debug-->info-->warn-->error.查看全部
-
properties文件中存的都是key-value这样键值对的形式。 log4j.rootLogger=DEBUG,Console 输出的级别和输出的位置 log4j.logger.org.apache.ibatis=ERROR //特定包下的特定级别 log4j.appender.Console=org.apache.log4j.ConsoleAppender //配置控制台的类 log4j.appender.Console.layout=org.apache.log4j.PatternLayout //配置布局 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n //%d产生日志的时间, %t是产生日志所处的线程名称, %-5p输出日志的级别,将占5位字符,不足5位用空格填补,-指的是在右边补齐, %c你输出日志的包以及类的全名, %m是你附加的信息 %n是换行查看全部
-
Mybatis无法用bedug调式xml.所以引入log4j用于调试xml.将流程打印在控制台。 需要引入log4j-1.2.17.jar包,和在src目录下引入log4j.properties. log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n //%d产生日志的时间, %t是产生日志所处的线程名称, %-5p输出日志的级别,将占5位字符,不足5位用空格填补,-指的是在右边补齐, %c你输出日志的包以及类的全名, %m是你附加的信息 %n是换行查看全部
举报
0/150
提交
取消