javaweb-------mybatis框架的入門知識講解

整理下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();
        }
發佈了22 篇原創文章 · 獲贊 24 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章