这个web小项目用到的知识点相对比较全面,不过是以模式一的形式完成的,主要用到的知识点有MyBatis、Servlet、Javabean。
所需工具:Eclipse + MySQL + 脑子
下面介绍一下MyBatis的使用(该详细的地方会详细的):
1、建立一个web项目以及所需的数据库。
2、将需要相应的jar包导入到lib文件夹内。
3、新建实体类 Plan 和 接口IPlan(为什么,下面会提到)
4、新建与其相对应的xml文件。
5、配置MyBatis最重要的核心文件。
请注意红色箭头部分。
6、一切基本操作完成后,就要开始与数据库连接了,首先用到的就是5中的文件,新建一个类命名为ConnectSQL.java(看代码)
7、那么,数据库连接成功之后要干什么——数据的增删改查
这里用到了两种不同的形式进行操作:
第一种:是以类形式的xml文件操作——Plan.xml
<mapper namespace="com.lzq.entity.Plan">
<select id="getOnePlan" parameterType="int" resultType="Plan">
select * from plan where id = #{id}
</select>
<update id="updatePlan" parameterType="Plan" >
update plan set p1=#{p1},p2=#{p2},note=#{note} where id=#{id}
</update>
</mapper>
其中parameterType是传进来的参数值,resultType顾名思义,返回类型
那么在代码中怎么用此类方法那?(看代码)
左边的就是与xml对应的id="getOnePlan",右边既是参数。
上图片中同时用到了ConnectSQL.java
第二种:是以接口形式的xml文件操作——IPlan.xml
<mapper namespace="com.lzq.inter.IPlan">
<select id="getAllPlan" resultType="Plan">
select * from plan
</select>
<select id="getPlanByDate" parameterType="Date" resultType="Plan">
select * from plan where date = #{date}
</select>
</mapper>
此类形式有什么好处,1.灵活、2.可一对多,多对多操作、3.还是灵活
需要注意的是他们的id是与接口的方法名对应的(必须一样),有图有真像。
而在DAO层,方法是这样调用的:
MyBatis最最基础的东西就是这些,(其实还有好多),有一些坑是要注意的,
像${}与#{}的区别resultType与resultMap的区别等等,
还有一件事,在不经意间发现MyBatis传值查询的时候,括号里面的参数是相同类型的时候,sql语句可以写成#{0}、#{1}的形式,又是会减少工作量,一般人不告诉他。
8、在MyBatis可以完成数据库之后,一个web项目剩下的就是前后端交互,
这里所用的知识点是Javabean与servlet,(PS:此demo运用的是模式一(前端里面运用大量的后端代码))。
Javabean就是把实体类直接拿到前端调用
Servlet便是额…….看代码吧还是
上图中有一个addPerson,这是一个请求,请求到哪里去了呐?
PS:如果没有@WebServlet("/addPerson")需要在web.xml里面配置addPerson的这个请求,这样就不用了。
简单效果:
不足之处还有很多,希望能get到点就行
百度云盘里有项目(可能不是最新的)
连接:https://pan.baidu.com/s/1nvsuqZB 密码:s34d
{{ cmt.username }}
{{ cmt.content }}
{{ cmt.commentDate | formatDate('YYYY.MM.DD hh:mm') }}