Mybatis
在接口中声明方法 在xml进行方法体的特殊实现
接口的名字最好和xml的名字一致方便操作
实体类中的get set 方法名要正规
*关于在Manen依赖的导入
分别是sql 和Mybatis
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
version>5.1.47</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
首先SqlMapConfig.xml的简配置
只有写了头文件下文才会有提示
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
固定格式 说明在代码注释里说的很详细
<configuration>
<!-- 引入db.properties文件 也可以在value里直接写入 -->
<properties resource="db.properties"></properties>
<!-- 延迟加载时默认不开启的 -->
<settings>
<setting name="lazyLoadingEnabled" value="true" />
<setting name="aggressiveLazyLoading" value="false" />
</settings>
<!-- 定义别名 -->
<!-- 入参和出参类型的别名 不用再写包的全名 -->
<typeAliases>
<package name="com.neusoft.model.po" />
</typeAliases>
<!-- 配置数据库 -->
<environments default="test">
<environment id="test">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<!-- 注册所有的mapper文件 使java接口文件和xml文件相关联 -->
<mappers>
<!-- <mapper resource="com/neusoft/model/mapper/StudentMapper.xml"/> -->
<!-- 可以使用package来注册但是这样来说接口和mapper文件名字需要一致 -->
<package name="com.neusoft.model.mapper" />
</mappers>
</configuration>
db.properties也可以不引内容如下 创建时是File类型
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/javaee?useUnicode=true&characterEncoding=utf8
username=root
password=root
方法实现的xml
实现接口的xml 文件头如下
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
挑了几个具有代表性的代码
关于#{}和${} 参数绑定
<!-- id对应接口的方法的名 resultType对应实体类的路径-->
<select id="getStudentByName" resultType="com.neusoft.model.po.Student">
select * from student where stuname like "%"#{stuname}"%"
</select>
<!-- #{} ${} 最好用#{} 除了where中才用${}-->
<select id="getStudentByCondition" resultType="com.neusoft.model.po.Student">
select * from student where ${key}=#{value}
</select>
在接口中方法参数的绑定如下
public List<Student> getStudentByCondition(@Param("key")String key,@Param("value")String value);
因为参数过多MyBatis不能辨别所以需要通过注释的方法绑定
待续2019-8-7
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G