入门程序有个问题:实战的时候新增数据表行数据不可能是固定值,也就是不能写死在配置文件里
1.在JDBC采用的占位符? 对应的mybatis里的什么呢
修改CarMapper.xml文件,加上占位符在MyBatis中占位符为#{},对应JDBC的?,占位符里填的是map集合的key.? 一般map集合的key要见名知意
1.2 MyBatis中通过POJO类完成传参(最常用)
mapper文件中填写的#{carType}),MyBatis会通过反射机制查找getCarType()方法得到值(要搞清楚括号里要写什么),,此处体现了ORM思想。
1.3? mybatis底层执行了select语句之后,一定会返回一个结果集对象:Resultset,接下来就是mybatis应该从结果集里取出数据,封装。
Mapper配置文件里要增加:resultType=“com.powernode.mybatis.pojo.Car”,通常是全限定类名。指定查询出来是什么类,MyBatis会自动转换成该类??
guide_price as guidePrice,取别名是为了让pojo类属性和查询结果对应上,符合ORM
在mapper.xml文件中有一个namespasce,这个属性是用来指定命名空间的,用来防止id重复
实质上,mybatis中的sql id 正确写法应该是:namespace.sqlid