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的主要内容,如果未能解决你的问题,请参考以下文章

MybatisMyBatis 注解方式的基本 用法

MybatisMyBatis之缓存

MyBatisMyBatis的增删改查

Mybatismybatis登录实例

MybatisMybatis基础(中)

MybatisMybatis缓存