Mybatis简单的入门之增删改查

一般的步骤如下
1、添加Mybatis所需要的包,和连接数据库所需的包
2、配置mybatis-config.xml文件

3、配置与pojo对应的映射文件

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>
<typeAliases><!--类型别名-->
<typeAlias alias="User" type="com.iss.pojo.User" />
</typeAliases>


<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>


<mappers>
<mapper resource="com/iss/pojo/User.xml" /><!--映射文件的路径-->
</mappers>
</configuration>


pojo实体类

package com.iss.pojo;


public class User {
private int id;


private String name;


public int getId() {
return id;
}


public void setId(int id) {
this.id = id;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public User(int id, String name) {
super();
this.id = id;
this.name = name;
}


public User() {
super();
}


}



User.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="User"><!--映射的命名空间也就是在mybatis中配置的别名-->
<select id="selectUser" parameterType="int" resultType="User"><!--在mybatis-config.xml中为类型起了别名-->
<![CDATA[
        select * from user where id = #{id}]]><!--查询的是表名不是对象-->
</select>
<insert id="insertUser" parameterType="User">

<![CDATA[insert into user
value(#{id},#{name})]]>


</insert>
<delete id="deleteUser" parameterType="int">
delete from user where
id=#{id}


</delete>
<update id="updateUser" parameterType="User">
update user set
name=#{name} where id=#{id}
</update>
</mapper>

Mybatis工具类

Mybatis工具类

package com.iss.util;


import java.io.IOException;
import java.io.Reader;


import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


import com.sun.org.apache.xpath.internal.operations.Gte;


public class MybatisUtil {


private static SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();//类似于Hibernate中Configration


private static SqlSessionFactory sqlSessionFactory;//类似于Hibernate中SessionFactory


// 静态初始化块配置文件在类运行时只加载一次
static {


String resource = "mybatis-config.xml";
Reader reader = null;
try {
reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


sqlSessionFactory = builder.build(reader);
}


private MybatisUtil() {
// TODO Auto-generated constructor stub
}


public static SqlSessionFactoryBuilder getBuilder() {
return builder;
}


public static void setBuilder(SqlSessionFactoryBuilder builder) {
MybatisUtil.builder = builder;
}


      
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}


public static void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
MybatisUtil.sqlSessionFactory = sqlSessionFactory;
}


// 获得sqlSession对象类似于Hibernate中的session
public static SqlSession getSqlSession() {
SqlSession sqlSession = sqlSessionFactory != null ? sqlSessionFactory
.openSession() : null;
return sqlSession;
}


public static void closeSession() {
SqlSession sqlSession = getSqlSession();
if (sqlSession != null) {
sqlSession.close();
}
}


}

UserService

package com.iss.service;


import org.apache.ibatis.session.SqlSession;


import com.iss.pojo.User;
import com.iss.util.MybatisUtil;


public class UserService {


public static User selectUser(int id) {
SqlSession sqlSession = MybatisUtil.getSqlSession();
User user = sqlSession.selectOne("selectUser", 1);
MybatisUtil.closeSession();
return user;
}


public static void insertUser(int id, String name) {


User user = new User();
user.setId(id);
user.setName(name);


SqlSession sqlSession = MybatisUtil.getSqlSession();
sqlSession.insert("insertUser", user);
sqlSession.commit();
MybatisUtil.closeSession();
}


public static void updateUser(int id, String name) {
User user = new User();
user.setId(id);
user.setName(name);


SqlSession sqlSession = MybatisUtil.getSqlSession();
sqlSession.update("updateUser", user);
sqlSession.commit();
MybatisUtil.closeSession();


}


public static void deleteUser(int id) {
SqlSession sqlSession = MybatisUtil.getSqlSession();
sqlSession.delete("deleteUser", id);
sqlSession.commit();
MybatisUtil.closeSession();
}


}

TestUser

package com.iss.test;


import com.iss.pojo.User;
import com.iss.service.UserService;


public class TestUser {


public static void main(String[] args) {


UserService.insertUser(3, "world");
User user = UserService.selectUser(2);
System.out.println(user.getName());
UserService.updateUser(1, "wdy");
System.out.println(UserService.selectUser(2).getName());


UserService.deleteUser(2);
}
}


总结Hibernate 和Mybatis很相似

主要的区别

Hibernate的映射文件是对表的映射

Mybatis的映射文件是对表操作的一种映射


代码下载地址http://download.csdn.net/detail/wangdianyong/8609743


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值