MyBatis学习笔记,实现简单CRUD,使用了Oracle
源码:https://download.csdn.net/download/qq_35206244/10595114
项目树
我使用ojdbc14的jar出现了连接不上数据库的问题,换了低版本好了
数据库
表pid字段设置了自增,不知道如何实现自增,参考:https://blog.csdn.net/qq_35206244/article/details/81213817
配置
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>
<properties resource="jdbc.properties"></properties>
<typeAliases>
<typeAlias type="com.it.mybatis.entity.Person" alias="person"/>
</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/it/mybatis/entity/PersonMapper.xml" />
</mappers>
</configuration>
jdbc.properties
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username=scott
jdbc.password=root
PersonMapper.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.it.mybatis.entity">
<select id="queryById" parameterType="int" resultType="person">
select * from person where pid = #{pid}
</select>
<insert id="add" parameterType="person" >
<!-- insert into person values(se_per.nextval,#{pname},#{pwd}) -->
<!-- 数据库已建立触发器 -->
insert into person(panme,pwd) values(#{pname},#{pwd})
</insert>
<update id="update" parameterType="person">
update person set pname=#{pname}, pwd=#{pwd} where pid=#{pid}
</update>
<delete id="delete" parameterType="int">
delete from person where pid=#{pid}
</delete>
<select id="login" parameterType="person" resultType="person">
select * from person where pid=#{pid} and pwd=#{pwd}
</select>
<select id="queryAll" parameterType="person" resultType="person">
select * from person where 1=1
<if test="pname!=''and pname!=null">
and pname like '%${pname}%'
</if>
<if test="pid!=null and pid!=''">
and pid=#{pid}
</if>
</select>
</mapper>
dao
完整源码自行下载
@Override
public List<Person> queryAll(Person person) {
SqlSession session=MyBatisUtil.getSession();
List<Person> list=session.selectList("queryAll",person);
session.close();
return list;
}