日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mybatis mysql Dao_Dao模式创建mybatis项目过程

發(fā)布時間:2025/3/20 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis mysql Dao_Dao模式创建mybatis项目过程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java EE框架

1、表現(xiàn)層 springMVC

2、粘合劑 spring(IOC/控制反轉(zhuǎn) AOP/面向切面編程 DI/依賴注入)

3、持久層 mybatis

Dao模式創(chuàng)建mybatis項目過程

1、下載jar包

mybatis jar包下載地址:

鏈接:https://pan.baidu.com/s/1xvZauxhkAPYxWvoJuxlLFg

提取碼:ia7w

復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦

mybatis中文手冊地址:

http://www.dba.cn/book/mybatis/MYBATISZhongWenShouCe/MYBATISXMLPeiZhi.html

2、導(dǎo)入所需要的jar包

commons-logging-1.2.jar 用于日志處理

log4j-1.2.17.jar 日志系統(tǒng),負(fù)責(zé)日志輸出

mybatis-3.5.0.jar mybatis核心jar包

mysql-connector-java-5.1.46.jar MySQL數(shù)據(jù)庫驅(qū)動jar包

將jar包部署到項目中

3、編寫mybatis核心配置文件

創(chuàng)建mybatis核心配置文件mybatis-config.xml

創(chuàng)建Java屬性配置文件jdbc.properties

創(chuàng)建日志屬性配置文件log4j.properties

mybatis-config.xml

/p>

"mybatis-3-config.dtd" >

jdbc.properties

jdbc.DriverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/數(shù)據(jù)庫名?characterEncoding=utf-8

jdbc.username=用戶名

jdbc.password=密碼

log4j.properties

log4j.rootLogger=DEBUG, Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=INFO

log4j.logger.org.apache=INFO

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

4、創(chuàng)建實體類

創(chuàng)建實體類并生成seter/geter方法重寫toString方法。

User.java

package com.model;

public class User {

private int userId;

private String userName;

private String userPass;

private int userSex;

private int userAge;

public int getUserId() {

return userId;

}

public void setUserId(int userId) {

this.userId = userId;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getUserPass() {

return userPass;

}

public void setUserPass(String userPass) {

this.userPass = userPass;

}

public int getUserSex() {

return userSex;

}

public void setUserSex(int userSex) {

this.userSex = userSex;

}

public int getUserAge() {

return userAge;

}

public void setUserAge(int userAge) {

this.userAge = userAge;

}

@Override

public String toString() {

return "User [userId=" + userId + ", userName=" + userName + ", userPass=" + userPass + ", userSex=" + userSex

+ ", userAge=" + userAge + "]";

}

}

5、創(chuàng)建Dao接口

UserDao.java

package com.dao;

import com.model.User;

public interface UserDao {

public User findUserById(int Id);

//通過id查詢用戶信息

public void addUser(User user);

//向數(shù)據(jù)庫中增加用戶信息

public void deleteUser(int Id);

//刪除用戶信息

public void updateUser(User user);

//修改用戶信息

}

userService.java

package com.service;

import com.model.User;

public interface userService {

public User findUserById(int Id);

public void addUser(User user);

public void deleteUser(int Id);

public void updateUser(User user);

}

6、創(chuàng)建 sql 映射文件

在dao包下創(chuàng)建sql映射文件 UserDao.xml。這里使用mapper動態(tài)代理所以映射文件必須和接口UserDao.java在同一個包下。

select * from userdb where userId=#{Id}

insert into userdb (userName,userPass,userSex,userAge)

values (#{userName},#{userPass},#{userSex},#{userAge})

delete from userdb where userId=#{value}

update userdb set userName=#{userName},userPass=#{userPass},userSex=#{userSex},userAge=#{userAge}

where userId=#{userId}

7、單例模式創(chuàng)建SqlSessionFactory工廠

MyBatisUtilsLazy.java

package com.utils;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisUtilsLazy {

public static SqlSessionFactory factory=null;

public static SqlSessionFactory getFactory() {

if (factory==null) {

InputStream in;

try {

synchronized(MyBatisUtilsLazy.class){

if (factory==null) {

in =Resources.getResourceAsStream("mybatis-config.xml");

factory = new SqlSessionFactoryBuilder().build(in);

}

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return factory;

}

}

8、編寫實現(xiàn)類

UserServiceImpl.java

package com.service.impl;

import org.apache.ibatis.session.SqlSession;

import com.dao.UserDao;

import com.model.User;

import com.service.userService;

import com.utils.MyBatisUtilsLazy;

public class UserServiceImpl implements userService {

SqlSession session = MyBatisUtilsLazy.getFactory().openSession();

UserDao mapper = session.getMapper(UserDao.class);

@Override

public User findUserById(int Id) {

// TODO Auto-generated method stub

return mapper.findUserById(Id);

}

@Override

public void addUser(User user) {

// TODO Auto-generated method stub

try {

mapper.addUser(user);

session.commit();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

session.close();

}

}

@Override

public void deleteUser(int Id) {

// TODO Auto-generated method stub

try {

mapper.deleteUser(Id);

session.commit();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

session.close();

}

}

@Override

public void updateUser(User user) {

// TODO Auto-generated method stub

try {

mapper.updateUser(user);

session.commit();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

session.close();

}

}

}

9、編寫測試類

TestAddUser.java

package com.test;

import org.junit.Test;

import com.model.User;

import com.service.impl.UserServiceImpl;

public class TestAddUser {

@Test

public void testAddUser() {

UserServiceImpl userServiceImpl = new UserServiceImpl();

User user = new User();

String userName="aaa";

String userPass="152425";

int userSex=0;

int userAge=28;

user.setUserName(userName);

user.setUserPass(userPass);

user.setUserSex(userSex);

user.setUserAge(userAge);

userServiceImpl.addUser(user);

System.out.println(user);

}

}

TestDeleteUser.java

package com.test;

import org.junit.Test;

import com.service.impl.UserServiceImpl;

public class TestDeleteUser {

@Test

public void testdeleteUser() {

UserServiceImpl userServiceImpl = new UserServiceImpl();

int Id=16;

userServiceImpl.deleteUser(Id);

}

}

TestFindUserById.java

package com.test;

import org.junit.jupiter.api.Test;

import com.model.User;

import com.service.impl.UserServiceImpl;

public class TestFindUserById {

@Test

public void testFindUserById(){

UserServiceImpl userServiceImpl = new UserServiceImpl();

int Id=17;

User user = userServiceImpl.findUserById(Id);

System.out.println(user);

}

}

TestUpdateUser.java

package com.test;

import org.junit.Test;

import com.model.User;

import com.service.impl.UserServiceImpl;

public class TestUpdateUser {

@Test

public void testupdateUser() {

UserServiceImpl userServiceImpl = new UserServiceImpl();

User user = new User();

String userName="張三";

String userPass="152425";

int userSex=0;

int userAge=25;

user.setUserId(18);

user.setUserName(userName);

user.setUserPass(userPass);

user.setUserSex(userSex);

user.setUserAge(userAge);

userServiceImpl.updateUser(user);

System.out.println(user);

}

}

總結(jié)

以上是生活随笔為你收集整理的mybatis mysql Dao_Dao模式创建mybatis项目过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。