mybatis
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis相关的知识,希望对你有一定的参考价值。
1配置SqlMapConfig.xml文件
<?xml version="1.0" encoding="UTF-8"?>
//上面为xml自带,创建时产生
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
//这些事sqlmapconfig文件创建配置
文件名字不能更改
2.主体部分
<configuration>写在这个配置环境里面
1,1<properties resource="datasource.properties"></properties>
传入sql语句所必要的路径 用户名和密码
配置所需的主要实现内容 具体什么代表什么我也不是很清楚 不懂的查英语单词
<configuration>
<properties resource="datasource.properties"></properties>
<typeAliases>
<package name="com.wode.bean"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/wode/mapper/Usermapper.xml"/>
<mapper resource="com/wode/mapper/BookMapper.xml"/>
</mappers>
</configuration>
2.配置通用语句实现类
先建立sessionFactory然后通过静态块来实现 最后输出语句
private static SqlSessionFactory sessionFactory;
static{
InputStream in =null;
try {
in = Resources.getResourceAsStream("SqlMapConfig.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(in!=null)
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static SqlSession getSession(){
return sessionFactory.openSession();
}
3需要建立一个mapper来映射
接口和xml的文件名字必须相同
public int addbook(@Param("id")int id,@Param("name")String name,@Param("type")String type);
public int updatebook(@Param("Book")Book book);
public List<Book> selectAll();
在创建文件的 时候 如果是基本数据类型 就不用@Param 如果是混和类型就吧参数都要配置@Param "里面是设置的值" 在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="com.wode.mapper.Bookmapper">
<resultMap type="Book" id="BookMap">
<id property="boooId" column = "id" javaType="int"/>
<result property="bookName" column = "book_name" javaType="java.lang.String"/>
<result property="bookType" column = "book_type" javaType="java.lang.String"/>
<result property="bookPrice" column = "book_price" javaType="int"/>
</resultMap>
<insert id="addbook" parameterType="Book">
insert into book values(#{id},#{name},#{type},12)
</insert>
<update id="updatebook" parameterType="Book">
update book set book_name=#{Book.bookName},book_type=#{Book.bookType} where id=#{Book.boooId}
</update>
<select id="selectAll" resultMap="BookMap">
select * from Book
</select>
</mapper>
xml需要注意mapper的namespace="com.wode.mapper.Bookmapper 这个路径必须一致
<resultMap type="Book" id="BookMap">
<id property="boooId" column = "id" javaType="int"/>
<result property="bookName" column = "book_name" javaType="java.lang.String"/>
<result property="bookType" column = "book_type" javaType="java.lang.String"/>
<result property="bookPrice" column = "book_price" javaType="int"/>
配置一个bean 所需要返回的对象 parameterType="Book"和上面的id保持一致就可以应用
sql语句的配置 需要注意里面的参数需要用#{} 里面加名字来代替
#{} 和${}这两种都可以使用
但是区别很大
#{}这个在sql语句中解析出来相当于带有“ ”来使用
${}解析出来则是没有带“” 使用时需要注意这个问题 尽量少用 需要再用
然后最需要注意的就是单词别写错 很忧伤
以上是关于mybatis的主要内容,如果未能解决你的问题,请参考以下文章