2017年9月份知识点记录总结
来源:互联网 发布:栗山千明知乎 编辑:程序博客网 时间:2024/05/17 23:11
9.5:网站推荐
java项目源码分享网:http://java.goodym.cn/html/1504276773138.html
素材火:http://www.sucaihuo.com/video/77.html
mybatis学习网站: http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html
java知识分享网: http://www.java1234.com/a/kaiyuan/javaWeb/2015/0405/3980.html
wepApp快速开发:http://www.apicloud.com/index?uzchannel=27
githubPage: https://pages.github.com/
9.21spring-mybatis分析:
<bean class ="org.mybatis.spring.mapper.MapperScannerConfigurer" >
<property name ="basePackage" value ="org.qyh.dao" />
<property name ="markerInterface" value ="org.qyh.core.IBaseDao" />
</bean >
扫描继承了IBaseDao的dao接口,并生成dao接口的实现类.并且获得接口路径也即获得命名空间并把命名空间给sqlSessionTemplate
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
sqlSessionTemplate内部引用了sqlSessionFactory,sqlSessionFactory会为其方法生成一个sqlSession,并且通过namespase指向具体的mapper.xml文件
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 当mapper.xml和mapper.java在一个包下则不需要配置该属性 -->
<!-- <property name="mapperLocations" value="classpath*:com/sk/**/*Mapper.xml"
/> -->
<property name="mapperLocations">
<list>
<!-- 每一个都配置 -->
<!-- <value>classpath*:/mapper/StudentMapper.xml</value>
<value>classpath*:/mapper/TeacherMapper.xml</value>
<value>classpath*:/mapper/MyClassMapper.xml</value> -->
<!--或者通配 -->
<value>classpath*:/mapping/*Mapper.xml</value>
</list>
</property>
sqlSessionFactory内部引用了dataSource,并且扫描解析了所有的mapper.xml文件
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${db.driverClassName}" />
<property name="url" value="${db.driverUrl}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="initialSize" value="${db.initialSize}" />
<property name="maxActive" value="${db.maxActive}" />
<property name="maxIdle" value="${db.maxIdle}" />
<property name="maxWait" value="${db.maxWait}" />
<property name="removeAbandoned" value="${db.removeAbandoned}" />
</bean>
通过db.propers文件中的值配置数据源
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:config/log4j.properties</value>
<value>classpath:config/db.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
加载配置文件log4j.properties和db.properties
dao层方法执行流程:首先会将自动生成的dao接口的实现类注入到dao接口,当调用dao层方法时,实际是调用的sqlSessionTemplate的方法,最终通过namespace找到确切的
mapper.xml映射文件,并最终执行mapper.xml中的sql语句,执行结果经过sqlSessionTemplate的方法的进一步封装后返回.
9.24@Configration@Conponent
Component 用于将所标注的类加载到 Spring 环境中,需要搭配 component-scan 使用
Configuration 是 Spring 3.X 后提供的注解,用于取代 XML 来配置 Spring, 如下:
@Configuration
@PropertySource("classpath:/com/acme/app.properties")
public class AppConfig {
@Inject Environment env;
@Bean
public MyBean myBean() {
return new MyBean(env.getProperty("bean.name"));
}
}
。
字符串比较equal与==的区别{}
Teacher result = teacherService.queryByNum(request.getParameter("userNum"));
String parameter = request.getParameter("userPassword");
logger.setLevel(Level.WARN);
logger.info("============"+parameter+"==========================");
String password = result.getPassword();
boolean bl=(password==parameter?true:false);
返回值为false,==为地址比较.equal()为值比较
9.29Model封装数据的范围request范围
Model封装数据的范围request范围,只有请求转发才能获取工厂模式:能够降低耦合,当类实例生成方式变化时(调用的构造方法改变)便于修改
9.30springmvc与ajax实现局部刷新踩的坑
/* $(document).ready(function(){ */
$('#myCarousel').carousel(
{interval: 5000}
);
$('#myCarousel').carousel('cycle');
function ajaxTest(i){
$.ajax({
url:"artical",
data:JSON.stringify({"id":i}),
/* data:{"id":i}, */
type:"POST",
dataType:'json',
contentType:"application/json",
error:function(XMLHttpRequest, textStatus, errorThrown){
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
},
success:function(data, textStatus){
/*返回的是json对象 */
/* data=$.parseJSON(data); */
$("#p_text").html(data["result_artical"]);
/* $("#p_text").html(JSON.Stringify(result)); */
}
});
}
/* } */
1. 不能在javascript脚本中加/* $(document).ready(function(){ */
2<li><a onclick="ajaxTest(0)" href="#">最新通知</a></li> href属性只能是href="#"不能是href=""
- 2017年9月份知识点记录总结
- 2016年9月份工作知识点汇总
- 17年9月份总结
- 《2017年2月份总结与反思》
- 2017-04月份总结
- 9月份总结
- 9月份总结II
- 9月份总结
- 9月份英语总结
- 9月份英语总结
- 9月份月报总结
- 8月份~9月份总结(下)
- 9月份的工作记录
- 9月份英语总结,persistent。
- 2011年8月份总结
- 2015年1月份总结
- 2015年10月份总结
- 2016年3月份总结
- 游戏设计之我见 —— Strike Vector EX游玩心得以及思考
- Qt 学习之路 2(62):保存 XML
- c++知识点---类模板的使用
- spring data 常用的几种CURD方法
- 纪念人生中第一篇博客
- 2017年9月份知识点记录总结
- 国内TOP5数字化服务商中企动力力推行业解决方案
- $.post(路径,参数,回调函数,数据类型);
- 史上最简单的 MySQL 教程(三十七)「数据备份与还原(下)」
- mysql 联合索引的命中规则
- bzoj1610 [Usaco2008 Feb]Line连线游戏(数学)
- 银行家算法,c++实现
- bzoj 4956: [Wf2017]Secret Chamber at Mount Rushmore(最短路)
- 终于刷进去了联想官方固件