配置基础MyBaits,前台基础常见错误

一览表

MyBatis的配置文件包含了影响MyBatis行为的信息
顶层configuration 配置
properties属性
settings设置
typeAliases类型命名
typeHandlers类型处理器
objectFactory对象工厂
plugins插件
environments环境
environment环境变量
transactionManager事务管理器
dataSource数据源
databaseIdProvider数据库厂商标识
mappers映射器

基础配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 配置文件的根元素 -->
<configuration>
    <!-- 属性:定义配置外在化 -->
    <properties></properties>
    <!-- 设置:定义mybatis的一些全局性设置 -->
    <settings>
       <!-- 具体的参数名和参数值 -->
       <setting name="" value=""/> 
    </settings>
    <!-- 类型名称:为一些类定义别名 -->
    <typeAliases></typeAliases>
    <!-- 类型处理器:定义Java类型与数据库中的数据类型之间的转换关系 -->
    <typeHandlers></typeHandlers>
    <!-- 对象工厂 -->
    <objectFactory type=""></objectFactory>
    <!-- 插件:mybatis的插件,插件可以修改mybatis的内部运行规则 -->
    <plugins>
       <plugin interceptor=""></plugin>
    </plugins>
    <!-- 环境:配置mybatis的环境 -->
    <environments default="">
       <!-- 环境变量:可以配置多个环境变量,比如使用多数据源时,就需要配置多个环境变量 -->
       <environment id="">
          <!-- 事务管理器 -->
          <transactionManager type=""></transactionManager>
          <!-- 数据源 -->
          <dataSource type=""></dataSource>
       </environment> 
    </environments>
    <!-- 数据库厂商标识 -->
    <databaseIdProvider type=""></databaseIdProvider>
    <!-- 映射器:指定映射文件或者映射类 -->
    <mappers></mappers>
</configuration>

基础配置指北

parameterType和resultType这两个属性值确定方式:
		1.parameterType根据接口中的形参名来判定的

		2.resultType根据接口中的返回值类型
		
		 begin:eg
		 public  List<Product> getProductAll(Integer id)

		在xml中配置的内容:
		<!-- 这里假定我们已经在mybatis-config.xml中给实体类配置了别名,配置方法:
		 <typeAliases>
		 //此类方法是将实体类所有类都以首字母小写,作为别名
		<package name="com.aj.entity"></package>
	    </typeAliases>
		-->
		<select  id="getProductAll" resultType ="product>   
           select * from product
		</select>
        end:eg

@Param属性作用:
当接口中传了很多的参数,如果不加@Param属性,那么有可能在传参的时候,顺序位置不对,导致sql不能执行.所以需要进行属性转化.
		

在前台使用Mybatis框架中可能遇到的错误类型:

1-接口中
  1.方法的重名

  2.创建List集合,对应的类没有导入

  3.方法重载的情况

2-接口实现类中
  1.对应的mapper中的namespace属性是不是对应的接口实现类的全类名

  2.id值是否和接口方法名对应,是否是对应的resultType值或者parameterType值

  3.mybatis定义方法的时候,该怎么确定用什么值来接收呢?
   insert delete update返回受影响的行数,所以需要定义int类型的返回值
   select 返回的是一个数组所以需要List集合接收

   4.sql语句:limit
   limit n,m
   意思就是limit n+1条开始检索 检索共m条

3-转发界面对应的servlet类
1.为了从数据库获取的值不乱码:
建议:加上两条语句
request.setCharacterEncoding(“UTF-8”);
response.setCharacterEncoding(“UTF-8”);

2.不要忘记引入对应的MyBatisUtil中的getMapper方法.

begin:eg
ProductMapper pDao=MyBatisUtil.getMapper(ProductMapper.class)
end:eg

3.request.setAttribute(“键”,“值”) 接收的时候一定不要忘了.

4.转发界面的要确定下,你要转发的界面是不是会被其他jsp页面引入的页面
是:后面的forward(request,response)
不是: include(request,response)

4-jsp页面
1.引入包的时候,在head中加入
相当于中的 css前面的检索地址.

2.如果一个jsp页面的一个位置需要引入其他页面:则需要在此处添加语句:
转发的相应位置:写jsp标签:<jsp:include page="/别名"></jsp:include>

3.在封装的头部和尾部中的servlet中,不要关闭输出流,最好就不写输出流了,否则会报streamException不需要写这段语句:[
PrintWriter out = response.getWriter();
out.flush();
out.close();
]

4.jsp页面上方,应该一定不要忘了修改编码方式和导入实体类

5.jsp中EL:表达式的forEach
EL表达式中的begin 和end可以确定字段截取,当不写end的时候,可以遍历出begin开始后的所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值