eclipse开发web项目——MyBatis基础使用(非快捷方式)

LZQ plus

发布于 2017.12.28 11:39 阅读 2991 评论 0

这个web小项目用到的知识点相对比较全面,不过是以模式一的形式完成的,主要用到的知识点有MyBatisServletJavabean

 

所需工具: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最最基础的东西就是这些,(其实还有好多),有一些坑是要注意的,

${}#{}的区别resultTyperesultMap的区别等等,

还有一件事,在不经意间发现MyBatis传值查询的时候,括号里面的参数是相同类型的时候,sql语句可以写成#{0}#{1}的形式,又是会减少工作量,一般人不告诉他。

8、在MyBatis可以完成数据库之后,一个web项目剩下的就是前后端交互,

这里所用的知识点是Javabeanservlet,(PS:此demo运用的是模式一(前端里面运用大量的后端代码))。

Javabean就是把实体类直接拿到前端调用

Servlet便是额…….看代码吧还是

上图中有一个addPerson,这是一个请求,请求到哪里去了呐?

PS:如果没有@WebServlet("/addPerson")需要在web.xml里面配置addPerson的这个请求,这样就不用了。

 

简单效果:

不足之处还有很多,希望能get到点就行


百度云盘里有项目(可能不是最新的)

连接:https://pan.baidu.com/s/1nvsuqZB  密码:s34d