Mybatis
写在开始:
自学真难 Mybatis官方文档
构建环境成品源码: Gitee , 在
SSMLearn
里
环境的构建
构建环境需要用到的东西:
MySQL
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.49</version> </dependency> <!--依赖导入后,创建数据库和表-->
Maven : 在maven文件夹下
-->conf-->settings.xml
- 下载 : Apache
- 配置镜像源
<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
- 配置jdk版本
<profiles> <profile> <id>1.8</id> <activation> <jdk>1.8</jdk> <activeByDefault>true</activeByDefault> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
JUint测试类 : 仓库地址
<!--https://mvnrepository.com/artifact/junit/junit--> <!--导入依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> <scope>test</scope> </dependency> <!--方便测试 , 可以不导入-->
Mybatis : 仓库地址
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <!--导入依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency>
文档的结构
结构详解:
外层的
pom.xml
作为父工程用来导入依赖,方便子工程注意事项 :
encoding
需要改为UTF8
创建一个子maven包,其中的
pom.xml
配置如下:<!--`encoding`需要改为`UTF8`--> <build> <resources> <resource> <directory>src/main/resource</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </build>
进入
scr-->main-->resources
目录并创建mybatis-config.xml
文件,进行如下配置<!-- 官网入门里获取--> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="'你连接数据库的url'?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT"/> <property name="username" value="root"/> <property name="password" value=""/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/atanycosts/dao/UserMapper.xml"/> </mappers> </configuration> <!-- 最终如果没有运行成功尝试改改useSSL的值-->
- 接下来是java包里的文件
CRUD
增删改查
需要提交事务
sqlSession.commit();
- id : 对应namespace中的方法名
- resultType : 返回值
- parameterType : 返回类型,如果在接口中传入的是对象则需要在这个属性中写完整的包名
//测试类
@Test
public void test() {
//获取SqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession(); //不动
//执行SQL
UserMapper mapper = sqlSession.getMapper(UserMapper.class); //不动
//List<User> userList = usermapper.getUserList();
for (User user : mapper.getUserList()) {
System.out.println(user);
}
//关闭SqlSession
sqlSession.close(); //不动
}
1.namespace
namespace中的包名需要和UseMapper这个接口的包名一致
2.Select
查询用户
//接口中写
//查询所有用户
List<User> getUserList();
//根据用户名查询用户
User getUserById(int id);
//查询不用提交事务
<!--UserMapper.xml-->
<!--查询所有用户-->
<select id="getUserList" resultType ="com.atanycosts.pojo.User">
select * from db01.users;
</select>
<!--查询单个用户-->
<select id="getUserById" parameterType="int" resultType ="com.atanycosts.pojo.User">
select * from db01.users where id = #{id};
</select>
3.Insert
插入用户
// 添加用户
int insertUser(User user);
<insert id="insertUser" parameterType="com.atanycosts.pojo.User">
insert into db01.users(id,name,address) values(#{id},#{name},#{address});
</insert>
4.Updata
更新用户
// 更新用户
int updateUser(User user);
<update id="updateUser" parameterType="com.atanycosts.pojo.User">
update db01.users set name=#{name},address=#{address} where id=#{id};
</update>
5.Delete
删除用户
// 删除用户
int deleteUser(int id);
<delete id="deleteUser" parameterType="int">
delete from db01.users where id=#{id};
</delete>
2 条评论
怎么收藏这篇文章?
叼茂SEO.bfbikes.com