Mybatis基础篇

第一步:

​ 导入依赖 jar 包

在这里插入图片描述


第二步:

​ 在src下创建SqlMapConfig.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>

	<!-- 和spring整合后environments配置将废除   development-->
	<environments default="default">
		<environment id="default">
		<!-- 使用jdbc事务管理,事务控制由mybatis完成-->
			<transactionManager type="JDBC" />
		<!-- 数据库连接池,由mybatis管理 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/test" />
				<property name="username" value="自己的账户名" />
				<property name="password" value="自己的密码" />
			</dataSource>
		</environment>
	</environments>
	
	
	<mappers>
		<mapper resource="com/jp/entity/User.xml"/>
	</mappers>
	
	
</configuration>

第三步:

​ 创建mapper映射文件(主要是对sql的操作),并把地址配置到SqlMapConfig.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命名空间,作用就是对sql进行分类化管理,理解sql隔离
注意:使用mapper代理方法开发,namespace有特殊作用
 -->
 <mapper namespace="test">
	<!-- 在配置文件中配置很对的sql语句 -->
	<!-- 通过select执行数据库查询
	id:表示映射文件中的sql,成为statement的id
	将sql语句封装到mappsedStatement对象中,所以id成为statement的id
	parameterType:指定输入参数的类型,这里指定int类型
	#{} 表示一个占位符
	#{id}: 其中的id表示接收输入的参数,参数的名称就是id,如果输入参数是简单类型,#{}中的参数可以任意,可以是value或其他名称
	resultType:指定sql输出结果的所映射的java对象类型,select 指定resultType表示将单条记录映射成的java对象
	 -->
	<select id="findUserById"  parameterType="int"  resultType="com.jp.entity.User">
		select * from users where id = #{id}
	</select>

	<!--根据用户名称模糊查询用户信息,可能返回多条
	 resultType:指定就是单条记录所映射的Java对象类型
	 ${}: 表示拼接字符串,将收到的参数的内容不加任何修饰拼接在sql中
	 使用${}拼接sql,引起sql注入
	 ${value}: 接受输入参数的内容,如果传入参数是简单类型,${}中只能使用values
	 -->
	<select id="findUserByName" parameterType="String" resultType="com.jp.entity.User">
		select * from users where username like  #{value}
	</select>

	<insert id="insertUser" parameterType="com.jp.entity.User">
		<!-- 主键不是自增时使用mysql的uuid()函数,需要修改表中字段类型为string
		,长度设置成35     插入之前先使用uuid()函数生成一个主键再进行插入 下面的sql语句要必须要写id字段
		 -->
		
		<!-- 主键自增时返回id的方法
		插入数据后查询出主键id并返回
		 -->
		<!-- <selectKey keyProperty="id" order="AFTER" resultType="int">
			select last_insert_id()
		</selectKey> -->
		
		insert into users (username,password) value (#{username},#{password})
	</insert>
		
	<select id="findUserById" parameterType="int" resultType="com.jp.entity.User">
		select * from student where id = #{id}
	</select>

	<delete id="deleteUserById" parameterType="int">
		delete from student where id = #{id}
	</delete>

</mapper>

第四步:

​ 创建测试类进行增、删、改、查的测试,下面是根据ID查询用户的测试其他测试略

注意 : 除了查询意外的操作都需要提交事务,并且不管是什么操作都需要进行关闭工厂对象的操作

@Test
	public  void findUserByIdTest() throws IOException {
		// 得到配置文件流
		InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");

		// 创建会话工厂,传入mybatis的配置文件信息
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
		
		// 通过工厂创建会话对象
		SqlSession sqlSession = sqlSessionFactory.openSession();

		User user = sqlSession.selectOne("test.findUserById", 2);

		System.out.println(user);

		sqlSession.close();
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值