- 性别
- 保密
- 积分
- 100
- 积分
- 351
- 精华
- 6
- 阅读权限
- 100
- 注册时间
- 2013-5-16
- 最后登录
- 2013-11-8
- 帖子
- 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();
}
|
|