本文将介绍MyBatis的环境搭建,本例使用的MyBatis的版本为mybatis-3.2.8.jar。下载地址为:http://download.csdn.net/detail/ma_hoking/8380541。本例使用的数据库为MySQL数据。具体的安装操作请参考:http://blog.csdn.net/mahoking/article/details/42921511。
【转载使用,请注明出处:http://blog.csdn.net/mahoking】
首先创建Java项目MyBatisTest。导入项目需要的jar文件mybatis-3.2.8.jar,由于本例需要连接MySQL数据库,所以需要导入mysql-connector-java-5.1.7-bin.jar。
创建User实体对象
public class User { private Integer id ; private String userName ; private String password; /** * 必须要有这个无参构造方法,不然根据UserMapper.xml中的配置, * 在查询数据库时,将不能反射构造出User实例 */ public User() { } public User(String userName, String password) { super(); this.userName = userName; this.password = password; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
创建configuration.xml,该文件类似Hibernate.cfg.xml文件,可以称之为主配置文件。导入dtd文件。
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
编写configuration.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> <!-- 注册实体Bean --> <typeAlias type="com.mahaochen.mybatis.domain.User" alias="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/mhc"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/mahaochen/mybatis/domain/User.xml"/> </mappers> </configuration>
从上文可知,引入了User.xml,该文件类似于Hibernate中的*.hbm.xml文件。那我们现在编写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"> <!-- 这里namespace必须是UserMapper接口的路径,不然要运行的时候要报错 “is not known to the MapperRegistry”--> <mapper namespace="com.mahaochen.mybatis.interfaces.UserMapper"> <!-- 这里的id必须和UserMapper接口中的接口方法名相同,不然运行的时候会报错 --> <!-- 添加操作 这里sql结尾不能加分号,否则报错误 --> <insert id="insertUser" parameterType="User"> <![CDATA[ insert into mhc_user(userName,password) values(#{userName},#{password}) ]]> </insert> <!-- 删除操作 --> <delete id="deleteUser" parameterType="String"> <![CDATA[ delete from mhc_user where userName=#{userName} ]]> </delete> <!-- 更新操作 --> <update id="updateUser" parameterType="User"> <![CDATA[ update mhc_user set userName=#{userName},password=#{password} where id=#{id} ]]> </update> <!-- 查询操作 --> <select id="selectUser" parameterType="int" resultType="User"> <![CDATA[ select * from mhc_user where id = #{id} ; ]]> </select> </mapper>
上文中出现com.mahaochen.mybatis.interfaces.UserMapper将在下文中介绍。 MyBatis与Hibernate有一定的相似之处,在学习Hibernate时,博主介绍了HibernateUtil这个工具对象用于管理SessionFactory和Session。对于MyBatis,这里我们也需要创建一个MyBatisUtil对象用于管理SqlSessionFactory和SqlSession。
/** * 提供获取SqlSessionFactory对象或管理Sesison的操作 * @author mahc * */ public class MyBatisUtil { private static SqlSessionFactory ssf; static{ String resource = "configuration.xml"; Reader reader; try { reader = Resources.getResourceAsReader(resource); ssf = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { e.printStackTrace(); } } /** * 获取SqlSessionFactory * @return */ public static SqlSessionFactory getSqlSessionFactory(){ return ssf; } /** * 关闭Session * @param session */ public static void closeSession(SqlSession session){ if(null!=session){ session.close(); } } }
MyBatis环境搭建就此完成,具体的操作数据库的增删改查操作将在下文中介绍。敬请期待!!点击查看下文!
【转载使用,请注明出处:http://blog.csdn.net/mahoking】