设为首页收藏本站

SKY外语、计算机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3983|回复: 6
打印 上一主题 下一主题

[网络编程] javaweb-------mybatis框架的入门知识讲解

[复制链接]

20

主题

0

好友

351

积分

版主

Rank: 7Rank: 7Rank: 7

性别
保密

最佳新人 活跃会员 热心会员 宣传达人 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2013-6-12 23:41:43 |只看该作者 |倒序浏览
整理下mybatis框架的使用。。。刚学,但带人入入门还是可以的。。《所用工具是myeclipse》以对一个实体对象操作为例
首先添加两个相关jar包。--------------------------
(我用的是mysql所以用mysql-connector-java-5.1.7-bin.jar,另外一个jar包是--mybatis-3.2.3-SNAPSHOT.jar)
《!---   这两个jar包网上都有下载 ----》
现在进入的是核心配置文件的配置(我取名为:mybatis-config.xml

<?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 resource="ServerConfig.properties" /><!-- 加载数据源参数文件 -->
       
        <typeAliases>
           <package name="org.mybatis.entitys" />《!--实体类的package路径 --》
           <package name="" />
                <!-- <typeAlias type="org.mybatis.entitys.SystemNews" alias="Systemnews" /> -->
        </typeAliases>
        <environments default="development">
                <environment id="development">
                        <transactionManager type="JDBC" />
                        <dataSource type="POOLED"><!--从配置文件中取出数据库链接的参数-->
                                <property name="driver" value="${driver}" />
                                <property name="url" value="${urlname}" />
                                <property name="username" value="${username}" />
                                <property name="password" value="${password}" />
                        </dataSource>
                </environment>
        </environments><!--这块是数据库连接用的 也叫数据源-->
        <mappers>
                <mapper resource="systemnews-mapper.xml" /><!-- sql映射文件的加载 下面有这个映射文件的配置--->
        </mappers>
</configuration>

我的ServerConfig.properties文件在classpath路径下 即src下的
参数文件代码----------------------
driver=com.mysql.jdbc.Driver
url=jdbc\:mysql\://127.0.0.1\:3306/zyz_db?useUnicode\=true&characterEncoding\=utf-8
username=root
urlname=jdbc:mysql://127.0.0.1:3306/zyz_db?characterEncoding=utf-8
password=r5qbesuq
maxActive=50
maxIdle=10
----------------------------------------------------------------------
下一重要的一步是sql映射文件的配置()--------------------------
映射文件名为:systemnews-mapper.xml     实例代码如下;
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.entitys.SystemNews"><!-- 命名空间是实体类的路径 -->
        <insert id="add" parameterType="SystemNews">
                insert into system_news(id,content,nic,time)
                value(#{id},#{content},#{nic},#{time})
  </insert>
        <update id="update" parameterType="SystemNews">
                update system_news set content=#{content},nic=#{nic},time=#{time} where
                id=#{id}
  </update>
        <delete id="delete" parameterType="int">
                delete from system_news where id=#{id}
  </delete>
   <select id="load" parameterType="int" resultType="SystemNews">
     select * from system_news where id=#{id}
   </select>
   <select id="selectmore" resultType="SystemNews">
      select * from system_news
   </select>
   <select id="selectBynic" parameterType="map" resultType="SystemNews">
      select * from system_news where nic like #{nic}
   </select>
   <select id="find" parameterType="map" resultType="SystemNews">
       select * from system_news limit #{inoff},#{pagesize}
   </select>
   <select id="find_count" parameterType="map" resultType="int">
      select count(*) from system_news
   </select>
</mapper>
,,,,,,彩色部分是自定义的sql语句
最后我们就来做测试了。。。往数据库中添加数据。。。。。
在main函数里面添加如下代码
try {

                InputStream is=Resources.getResourceAsStream("mybatis-config.xml");<!--加载核心配置文件 -->
                SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(is);《!--  获取session工厂类--》
                SqlSession session=sessionFactory.openSession();《!—— 获取sqlsession对象 ——》
                SystemNews sNews=new SystemNews();《!-- 实例化实体类 ---》
                sNews.setContent("mybatis");
                sNews.setNic("mybatis");
                sNews.setTime(new Date());
                session.insert("org.mybatis.entitys.SystemNews.add",sNews);《!--绿色部分是sql映射文件中的package的值 add是对于的inset标签的id的值---》
                session.commit();《!——ok提交完毕! 数据库中就新增一条记录————
        } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }

分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享淘帖0 收藏收藏0 评分评分

65

主题

3

好友

739

积分

超级版主

Rank: 8Rank: 8

自我介绍
新年第一天据说有雨,全民齐赏日出的计划恐要泡汤。”宋仁宗拍着包拯的肩,“朕决定把你悬挂在城门上。”“但微臣额上的不是太阳是月亮啊!”“没事,挂久一点就会升级成太阳
生肖
星座
狮子座
性别

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 论坛元老

沙发
发表于 2013-6-13 09:58:15 来自手机 |只看该作者
javaweb  ssh不好用吗
来自: Android客户端
回复

使用道具 评分 举报

20

主题

0

好友

351

积分

版主

Rank: 7Rank: 7Rank: 7

性别
保密

最佳新人 活跃会员 热心会员 宣传达人 优秀版主 论坛元老

板凳
发表于 2013-6-13 10:05:28 |只看该作者
本帖最后由 sky_yx 于 2015-12-30 14:14 编辑

spring、sturts框架当然比较好了 这里的mybatis是和hibbernate比较的,这两个都是数据持久层框架,我觉得mybatis更灵活一点,hibbernate封装性太强了,数据量比较大时效率往往不如mybatis。

回复

使用道具 评分 举报

20

主题

0

好友

351

积分

版主

Rank: 7Rank: 7Rank: 7

性别
保密

最佳新人 活跃会员 热心会员 宣传达人 优秀版主 论坛元老

地板
发表于 2013-6-13 10:05:57 |只看该作者
本帖最后由 sky_yx 于 2015-12-30 14:14 编辑

javaweb  ssh不好用吗[/quote]
spring、sturts框架当然比较好了 这里的mybatis是和hibbernate比较的,这两个都是数据持久层框架,我觉得mybatis更灵活一点,hibbernate封装性太强了,数据量比较大时效率往往不如mybatis。

回复

使用道具 评分 举报

0

主题

0

好友

105

积分

注册会员

Rank: 2

性别
保密
5#
发表于 2013-6-13 10:08:56 |只看该作者
本帖最后由 sky_yx 于 2015-12-30 14:14 编辑

mybatis确实很灵活,但各有各的长处。个人觉得mybatis比较好用。

回复

使用道具 评分 举报

65

主题

3

好友

739

积分

超级版主

Rank: 8Rank: 8

自我介绍
新年第一天据说有雨,全民齐赏日出的计划恐要泡汤。”宋仁宗拍着包拯的肩,“朕决定把你悬挂在城门上。”“但微臣额上的不是太阳是月亮啊!”“没事,挂久一点就会升级成太阳
生肖
星座
狮子座
性别

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 论坛元老

6#
发表于 2013-6-13 15:49:22 |只看该作者
这个东西有空去看看 是开源的不
回复

使用道具 评分 举报

20

主题

0

好友

351

积分

版主

Rank: 7Rank: 7Rank: 7

性别
保密

最佳新人 活跃会员 热心会员 宣传达人 优秀版主 论坛元老

7#
发表于 2013-6-13 16:49:35 |只看该作者
本帖最后由 sky_yx 于 2015-12-30 14:14 编辑

这个东西有空去看看 是开源的不[/quote]
嗯 是开源的 可以到mybits官网上下载到,以前是阿帕奇的现在移至谷歌旗下。

回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 立即注册


手机版|SKY外语计算机学习 ( 粤ICP备12031577 )    

GMT+8, 2024-12-22 20:21 , Processed in 0.128392 second(s), 31 queries .

回顶部