mybatis开发步骤

 mybatis是一个持久层的框架,解决了jdbc在代码中手工设置参数和检索结果集。利用一个xml文件进行了对sql语句的映射。还解决了代码用jdbc链接数据库的资源浪费问题。原生态的jdbc操作数据库会不断创建和销毁这样就大大的浪费了资源。用mybatis的一个核心的xml文件解决了这个不断创建和销毁。

mybatis如何操作数据库

第一步:编写mybatis核心的xml配置文件

<!-- 第一步配置mybatis的  xml文件 -->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED"><!-- 固定死的写法 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/jdbc"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
</configuration>
 

第二步:编写sql映射的配置文件

<mapper namespace="userDao">
        <!--查询数据--> 
<select id="queryUserById" parameterType="int" resultType="cn.tcast.bean.User">
select * from myuser where id=#{id}
</select>
<select id="queryUsers" resultType="cn.tcast.bean.User">
select * from myuser 
</select>
<select id="queryLikeUser" parameterType="string" resultType="cn.tcast.bean.User">
select * from myuser where username like #{username}
</select>
<select id="queryLikeUsers" parameterType="string" resultType="cn.tcast.bean.User">
select * from myuser where username like '%${value}%'
</select>

<!-- 插入数据insert -->
<insert id="insertUser" parameterType="cn.tcast.bean.User">
insert into myuser(username,password,birthday) values(#{username},#{password},#{birthday})
</insert>

<!-- update更新数据 -->
<update id="updateUser" parameterType="cn.tcast.bean.User">
update myuser set username=#{username},password=#{password},birthday=#{birthday} where id=#{id}
</update>

<!-- delete删除数据 -->
<delete id="deleteUser" parameterType="int">
delete from myuser where id=#{id}
</delete>
</mapper>
 

第三步:在核心配置文件中引入sql映射文件

<!-- 第一步配置mybatis的  xml文件 -->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED"><!-- 固定死的写法 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/jdbc"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>

<!-- 第三步引入sql映射文件 -->
<mappers>
<mapper resource="cn/tcast/config/mapper/UserMapper.xml"/>
</mappers>

</configuration>
 

第四步:创建SqlSessionFactoryBuilder对象builder

InputStream inputStream = Resources.getResourceAsStream("cn/tcast/config/SqlMapConfig.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
    

第五步: 利用builder对象创建会话工厂factory

SqlSessionFactory factory = builder.build(inputStream);

第六步:创建session对象

SqlSession session = factory.openSession();

第七步:业务逻辑操作
                增删该查操作(例如session.delete("userDao.deleteUser",7);)
第八步:提交事务(因为mybatis这个框架在核心配置文件中自动开启事物,所以需要手动的提交事务)

 

                session.commit();

第九步:关闭session这个资源
                session.close();


以上的配置核心配置文件就写死了链接的数据库不易修改于是我们会将核心的链接数据库的文件抽取出来一个属性文件  例如抽取一个db.properties 
配置如下:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbc
username=root
password=123 


然后将这个属性文件引入到mybatis的核心文件中  修改后如下:

<!-- 第一步配置mybatis的  xml文件 -->
<configuration>
<!-- 引入属性文件properties -->
<properties resource="db.properties"></properties>

<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED"><!-- 固定死的写法 -->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>

<!-- 第三步引入sql映射文件 -->
<mappers>
<mapper resource="cn/tcast/config/mapper/UserMapper.xml"/>
</mappers>
</configuration> 
 
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值