Mybatis在idea的基本环境配置
- 使用Maven来创建一个Mybatis项目
- 在pom.xml文件中添加Mybatis框架所需要的依赖(根据需要选择版本)junit是用于代码的测试log4j便于查看日志
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency> - 编写主要的配置文件(xml)自己命名,常规一般为SqlMapConfig 注:文件建立在resources文件夹下面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<configuration>
<properties resource="jdbcConfig.properties"></properties>
<!--配置自己定义的类名 -->
<typeAliases>
<package name="com.learn.domian"/>
</typeAliases>
<!-- 配置环境 -->
<environments default="mysql">
<!-- 配置mysql环境 -->
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源(连接池) -->
<dataSource type="POOLED">
<!-- 配置连接数据库的四个基本信息 -->
<property name="driver" value="${jdbc.driver}"/>
<property name="url"
value="jdbc:mysql://localhost:3306/learn?characterEncoding=UTF-8&useSSL=false"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource> </environment> </environments>
<!-- 指定映射配置文件的位置(映射配置文件指的是每个dao独立的配置文件) -->
<mappers>
<package name="com.learn.dao"/> <!-- 注意这里的文件结构最好和dao层结构相同 -->
</mappers></configuration>
使用注解完成对数据库的CRUD操作
如果定义的实体类的属性名称与数据库的字段名称一样,只需要在方法接口上面添加注解就可以完成对应的操作。
1
2
3
4
5
61.增加方法:@Insert("insert into user(username, address, sex, birthday) values (#{username}, #{address}, #{sex}, #{birthday} )")
2.删除方法: @Delete("delete from user where id = #{id} ")
3.改变方法:@Update("update user set username = #{username}, address = #{address}, sex = #{sex}, birthday = #{birthday} ")
4.查询方法:@Select("select * from user ")
5.模糊查询:@Select("select * from user where username like #{username} ")【同样在调用方法传参时加上%xxx%】
6.聚合运算:@Select("select count(*) from user ")如果实体类的属性名称与数据库的字段不同,则需要用到@Results注解